共用方式為


指定自我註冊的順序

請注意,您無法使用 SelfRegModulesSelfUnRegModules 動作來指定安裝程式註冊或取消註冊自我註冊 DLL 的順序。 這些動作會註冊 SelfReg 資料表中列出的所有模組,。 安裝程式不會自行註冊 .exe 檔案。

若要指定安裝程式註冊或取消註冊模組的順序,您必須針對每個模組使用兩個 自定義動作。 一個自定義動作是用於 DllRegisterServer,另一個是用於 DllUnregisterServer。 然後,這些自定義動作必須在 InstallExecuteSequence 數據表中撰寫, 順序中 DLL 要註冊或取消註冊的位置。

下列範例說明如何撰寫資料庫,以排程動作順序中特定時間點的 DLL 自我註冊。

檔案資料表 (部分)

元件_ 檔名 序列
mydll myComponent Mydll.dll 13

 

元件資料表 (部分)

元件 ComponentId 目錄_ KeyPath (關鍵路徑)
myComponent {GUID} 我的資料夾 mydll

 

目錄數據表

目錄 目錄_父目錄 DefaultDir
TARGETDIR SourceDir
我的資料夾 TARGETDIR myFolder|我的資料夾

 

CustomAction 數據表

行動 類型 來源 目標
mydllREG 3170 我的資料夾 “[SystemFolder]msiexec” /y “[#mydll]”
mydllUNREG 3170 myFolder “[SystemFolder]msiexec” /z “[#mydll]”

 

InstallExecuteSequence 資料表 (部分)

行動 條件 序列
自動解除註冊模組 2200
mydllUNREG $myComponent=2 2201
刪除檔案 3500
InstallFiles 4000
SelfRegModules 6500
mydllREG $myComponent>2 6501