自定義動作類型 6
此自定義動作是以 VBScript 撰寫。 如需詳細資訊,請參閱 文稿。
源
腳本是從暫存二進位數據流產生。 CustomAction 數據表的 [來源] 字段 包含 Binary 數據表索引鍵。 Binary 資料表中的數據行包含數據流數據。 系統會為每個數據列配置個別的數據流。
您可以使用 MsiRecordSetStream,後面接著 MsiViewModify,將記錄插入數據表,以從檔案插入新的二進位數據。 叫用自定義動作時,數據流數據會複製到臨時檔,然後根據自定義動作的類型進行處理。
類型值
在 CustomAction 資料表 的 Type 數據行中包含下列值,以指定 32 位自定義動作的基本數值類型。
常數 | 十六進位 | 十進位 |
---|---|---|
msidbCustomActionTypeVBScript + msidbCustomActionTypeBinaryData | 0x006 | 6 |
Windows Installer 可能會在 64 位作系統上使用 64 位自定義動作。 以腳本為基礎的 64 位自定義動作必須在其數值類型中包含 msidbCustomActionType64BitScript 位。 如需詳細資訊,請參閱 64 位自定義動作。 在 CustomAction 數據表 的 Type 數據行中包含下列值,以指定 64 位自定義動作的基本數值類型。
常數 | 十六進位 | 十進位 |
---|---|---|
msidbCustomActionTypeVBScript + msidbCustomActionTypeBinaryData + msidbCustomActionType64BitScript | 0x0001006 | 4102 |
目標
CustomAction 數據表 的 [目標] 欄位包含選擇性的腳本函式。 處理會先傳送腳本進行剖析,然後呼叫選擇性腳本函式。
傳回處理選項
在 CustomAction 資料表 的 Type 數據行中包含選擇性旗標位,以指定傳回處理選項。 如您選擇與值的描述,請參閱 自訂動作傳回處理選項。
執行排程選項
在 CustomAction 資料表 的 Type 數據行中包含選擇性旗標位,以指定執行排程選項。 這些選項可控制自定義動作的多重執行。 如您設定的描述,請參閱 自訂動作執行排程選項。
In-Script 執行選項
在 customAction 資料表 的 Type 數據行中包含選擇性旗標位,以指定腳本內執行選項。 這些選項會將動作程式代碼複製到執行、復原或認可腳本。 如您選項的描述,請參閱 自訂動作 In-Script 執行選項。
傳回值
文稿中撰寫的選擇性函式必須傳回其中一個值,JScript 和 VBScript 自定義動作的傳回值。
言論
以 JScript 或 VBScript 撰寫的自定義動作需要安裝 Session Object。 安裝程式會將 Session 物件附加至名稱為 Session的腳本。 由於 會話 物件可能不存在於安裝復原期間,腳本中寫入的延後自定義動作必須使用 Session 物件的其中一個方法或屬性,如 取得延遲執行自定義動作的內容資訊 一節所述,以擷取其內容。
匯出資料庫數據表時,每個數據流都會在以數據表命名的子資料夾中寫入個別的檔案,並使用主鍵做為檔名(二進位數據表的 Name 數據行),預設擴展名為 “.ibd”。 如果檔案系統或版本控制系統不支援長檔名,則名稱應該使用8.3檔名格式。 永續性封存盤案會以所使用的檔名取代數據流數據,以便在匯入數據表時找到數據。
相關主題