自訂動作類型 2
此自訂動作會呼叫以命令列啟動的可執行檔。
來源
可執行檔是從暫存二進位資料流程產生。 CustomAction 資料表的 [來源] 欄位包含Binary 資料表的索引鍵。 Binary 資料表中的資料行包含資料流程資料。 系統會為每個資料列配置個別的資料流程。
您可以使用 MsiRecordSetStream 從檔案插入新的二進位資料,後面接著 MsiViewModify ,將記錄插入資料表中。 叫用自訂動作時,資料流程資料會複製到暫存檔案,然後根據自訂動作的類型進行處理。
類型值
在 CustomAction 資料表 的 Type 資料行中包含下列值,以指定基本數數值型別。
常數 | 十六進位 | Decimal |
---|---|---|
msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData | 0x002 | 2 |
目標
CustomAction 資料表的 Target 資料行包含 [來源] 資料行中名為 之可執行檔的命令列字串。
傳回處理選項
在 CustomAction 資料表的 Type 資料行中包含選擇性旗標位,以指定傳回處理選項。 如需選項和值的描述,請參閱 自訂動作傳回處理選項。
執行排程選項
在 CustomAction 資料表的 Type 資料行中包含選擇性旗標位,以指定執行排程選項。 這些選項可控制自訂動作的多重執行。 如需選項的描述,請參閱 自訂動作執行排程選項。
In-Script執行選項
在 CustomAction 資料表的 Type 資料行中包含選擇性旗標位,以指定腳本內執行選項。 這些選項會將動作程式碼複製到執行、復原或認可腳本。 如需選項的描述,請參閱 自訂動作In-Script執行選項。
傳回值
可執行檔的自訂動作必須傳回值為 0 才能成功。 安裝程式會將任何其他傳回值解譯為失敗。 若要忽略傳回值,請在 CustomAction 資料表的 Type 欄位中設定 msidbCustomActionTypeContinue 位旗標。
備註
啟動可執行檔的自訂動作會採用命令列,其通常包含動態指定的屬性。 如果這也是 延後執行的自訂動作,安裝程式會使用 CreateProcessAsUser 或 CreateProcess ,在從安裝腳本叫用自訂動作時建立進程。
匯出資料庫資料表時,每個資料流程都會以名為 的子資料夾中的個別檔案寫入,並使用主鍵做為二進位資料表的檔案名 (Name 資料行) ,預設副檔名為 「.ibd」。 如果檔案系統或版本控制系統不支援長檔名,則名稱應該使用 8.3 格式。 永續性封存檔案會以所使用的檔案名取代資料流程資料,以便在匯入資料表時找到資料。
相關主題