指定自我註冊的順序
請注意,您無法使用 SelfRegModules 和 SelfUnRegModules 動作來指定安裝程式註冊或取消註冊自我註冊 DLL 的順序。 這些動作會註冊 SelfReg 資料表中列出的所有模組。 安裝程式不會自我註冊.exe檔案。
若要指定安裝程式註冊或取消註冊模組的順序,您必須針對每個模組使用兩個 自訂動作 。 DllRegisterServer 的一個自訂動作,另一個用於 DllUnregisterServer。 然後,這些自訂動作必須在順序中要註冊或取消註冊 DLL 的 點的 InstallExecuteSequence 資料表 中撰寫。
下列範例說明如何撰寫資料庫,以排程動作順序中特定點的 DLL 自我註冊。
檔案資料表 (部分)
檔案 | 元件_ | FileName | 順序 |
---|---|---|---|
mydll | myComponent | Mydll.dll | 13 |
元件資料表 (部分)
元件 | ComponentId | 目錄_ | KeyPath |
---|---|---|---|
myComponent | {a GUID} | myFolder | mydll |
Directory | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
myFolder | TARGETDIR | myFolder|我的資料夾 |
動作 | 類型 | 來源 | 目標 |
---|---|---|---|
mydllREG | 3170 | myFolder | 「[SystemFolder]msiexec」 /y 「[#mydll]」 |
mydllUNREG | 3170 | myFolder | 「[SystemFolder]msiexec」 /z 「[#mydll]」 |
InstallExecuteSequence 資料表 (部分)
動作 | 條件 | 順序 |
---|---|---|
SelfUnregModules | 2200 | |
mydllUNREG | $myComponent=2 | 2201 |
RemoveFiles | 3500 | |
InstallFiles | 4000 | |
SelfRegModules | 6500 | |
mydllREG | >$myComponent 2 | 6501 |