撰寫合併模組序列資料表
如果合併模組必須修改目標.msi檔案的動作 順序資料表 ,請在 .msm 檔案中包含 MergeModuleSequence 資料表。 合併不會將這些資料表新增至.msi檔案。 這些資料表只會發生在合併模組中。
如果 .msm 檔案中有任何 ModuleSequence 資料表,則對應的安裝程式順序資料表的空白複本也必須撰寫到合併模組中。 例如,如果合併模組包含 ModuleAdminExecuteSequence 資料表,合併模組也必須包含空的 AdminExecuteSequence 資料表。 在合併期間,這些空白資料表會提供合併工具與必要的架構指導方針。
在合併模組序列資料表中使用 標準動作 時,Sequence 資料行中的值應該是標準動作的建議動作序號。 如需每個循序表中的建議序號,請參閱下面提供的建議動作序列。 如果合併模組序列資料表中的序號與.msi檔案中相同動作的序號不同,合併工具會在合併期間使用.msi檔案中的序號。
如果在合併模組序列資料表的 Action 資料行中使用 標準動作 ,該記錄的 BaseAction 和 After 資料行必須是 Null。
如果在 [動作] 資料行中輸入自訂動作或對話方塊,則 Sequence 資料行必須是 Null。
如果將傳回終止旗標的動作輸入至 Action 資料行,則 Sequence 資料行應該包含該旗標的負值,而該記錄的 BaseAction 和 After 資料行必須是 Null。 下列負值表示如果安裝程式傳回終止旗標,則會呼叫動作。
終止旗標 | 值 | Description |
---|---|---|
msiDoActionStatusSuccess | -1 | 成功完成。 |
msiDoActionStatusUserExit | -2 | 使用者終止安裝。 |
msiDoActionStatusFailure | -3 | 嚴重結束終止。 |
msiDoActionStatusSuspend | -4 | 安裝已暫停。 |
BaseAction 資料行可以包含標準動作、合併模組自訂動作資料表中指定的自訂動作,或模組對話方塊資料表中指定的對話方塊。 BaseAction 資料行是此資料表之 Action 資料行的索引鍵。 它不能是.msi檔案中另一個合併資料表或資料表的外鍵。 這表示 BaseAction 資料行中列出的每個標準動作、自訂動作或對話方塊也必須列在此資料表中另一筆記錄的 Action 資料行中。