如果合併模組必須修改目標 .msi 檔案 的動作,請在 .msm 檔案中包含 MergeModuleSequence 數據表。 合併不會將這些數據表新增至 .msi 檔案。 這些數據表只會發生在合併模組中。
如果 .msm 檔案中有任何ModuleSequence 數據表,則對應的安裝程式順序數據表的空白複本也必須撰寫到合併模組中。 例如,如果合併模組包含ModuleAdminExecuteSequence資料表,合併模組也必須包含空的AdminExecuteSequence資料表。 在合併期間,這些空白數據表會提供合併工具與必要的架構指導方針。
在合併模組序列數據表中使用 標準動作 時,Sequence 數據行中的值應該是標準動作的建議動作序號。 如需每個序列數據表中建議的序號,請參閱下面提供的建議動作序列。 如果合併模組序列數據表中的序號與 .msi 檔案中相同動作的序號不同,合併工具會在合併期間使用 .msi 檔案中的序號。
如果在合併模組順序表的 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 數據行中。