共用方式為


撰寫合併模組序列數據表

如果合併模組必須修改目標 .msi 檔案 的動作,請在 .msm 檔案中包含 MergeModuleSequence 數據表。 合併不會將這些數據表新增至 .msi 檔案。 這些數據表只會發生在合併模組中。

如果 .msm 檔案中有任何ModuleSequence 數據表,則對應的安裝程式順序數據表的空白複本也必須撰寫到合併模組中。 例如,如果合併模組包含ModuleAdminExecuteSequence資料表,合併模組也必須包含空的AdminExecuteSequence資料表。 在合併期間,這些空白數據表會提供合併工具與必要的架構指導方針。

在合併模組序列數據表中使用 標準動作 時,Sequence 數據行中的值應該是標準動作的建議動作序號。 如需每個序列數據表中建議的序號,請參閱下面提供的建議動作序列。 如果合併模組序列數據表中的序號與 .msi 檔案中相同動作的序號不同,合併工具會在合併期間使用 .msi 檔案中的序號。

MergeModuleSequence 數據表 建議的動作順序
模塊管理者用戶介面序列 建議的管理者介面順序
ModuleAdminExecuteSequence 建議的 AdminExecuteSequence
ModuleAdvtUISequence 建議的 AdvtUISequence
ModuleAdvtExecuteSequence 建議的廣告執行順序
ModuleInstallUISequence 建議的安裝用戶界面序列
ModuleInstallExecuteSequence 數據表 建議的 InstallExecuteSequence (安裝執行順序)

 

如果在合併模組順序表的 Action 欄位使用 標準動作,則該記錄的 BaseAction 和 After 欄位必須是 Null。

如果在 [動作] 數據行中輸入自定義動作或對話框,則 Sequence 數據行必須是 Null。

如果傳回終止旗標的動作已輸入 Action 資料行,則 Sequence 資料行應該包含該旗標的負值,而該記錄的 BaseAction 和 After 資料行必須是 Null。 下列負值表示如果安裝程式傳回終止旗標,則會呼叫動作。

終止旗標 價值 描述
msiDoActionStatusSuccess -1 成功完成。
msiDoActionStatusUserExit -2 使用者終止安裝。
msiDoActionStatusFailure -3 致命錯誤結束。
msiDoActionStatusSuspend -4 安裝已暫停。

 

BaseAction 資料行可以包含標準動作、合併模組自定義動作數據表中指定的自定義動作,或模組對話框數據表中指定的對話方塊。 BaseAction 資料行是此資料表中 Action 資料行的鍵。 它不能是 .msi 檔案中另一個合併數據表或數據表的外鍵。 這表示,BaseAction 數據行中列出的每個標準動作、自定義動作或對話框也必須列在此數據表中另一筆記錄的 Action 數據行中。