自定義動作類型 18
此自訂動作會呼叫以命令行啟動的可執行檔。
源
可執行檔是從隨應用程式一起安裝的檔案產生。 CustomAction 數據表的 Source 欄位 包含 File 資料表索引鍵。 自定義動作程式代碼的位置取決於此檔案的目標路徑解析;因此,此自定義動作必須在安裝檔案之後以及移除檔案之前呼叫。
類型值
在 CustomAction 資料表 的 Type 數據行中包含下列值,以指定基本數值類型。
常數 | 十六進位 | 十進位 |
---|---|---|
msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile | 0x012 | 18 |
目標
CustomAction 資料表的目標資料行 包含 Source 數據行中所識別可執行檔的命令行字串。
傳回處理選項
在 CustomAction 資料表 的 Type 數據行中包含選擇性旗標位,以指定傳回處理選項。 如您選擇與值的描述,請參閱 自訂動作傳回處理選項。
執行排程選項
在 CustomAction 資料表 的 Type 數據行中包含選擇性旗標位,以指定執行排程選項。 這些選項可控制自定義動作的多重執行。 如您設定的描述,請參閱 自訂動作執行排程選項。
In-Script 執行選項
在 customAction 資料表 的 Type 數據行中包含選擇性旗標位,以指定腳本內執行選項。 這些選項會將動作程式代碼複製到執行、復原或認可腳本。 如您選項的描述,請參閱 自訂動作 In-Script 執行選項。
傳回值
可執行檔 的自定義動作必須傳回值為 0 才能成功。 安裝程式會將任何其他傳回值解譯為失敗。 若要忽略傳回值,請在 CustomAction 數據表的 [類型] 欄位中設定 msidbCustomActionTypeContinue 位旗標。
言論
啟動可執行檔的自定義動作會採用命令行,其通常包含動態指定的屬性。 如果這也是 延遲執行自定義動作,安裝程式會使用 CreateProcessAsUser 或 CreateProcess,在從安裝腳本叫用自定義動作時建立進程。
參考已安裝檔案做為其來源的自定義動作,例如自定義動作類型 18 (EXE),必須遵守下列排序限制:
- 自定義動作必須在 CostFinalize 巨集指令之後排序。 如此一來,自定義動作就可以解析尋找 EXE 所需的路徑。
- 如果計算機上尚未安裝來源檔案,則此類型的延後自定義動作必須在 InstallFiles 巨集指令之後排序。
- 如果電腦上尚未安裝來源檔案,則此類型的非延後自定義動作必須在 InstallFinalize 巨集指令之後排序。
相關主題