建置 ICE
如果您在 ICE 參考中列出的現有 ICE 自訂動作之間找不到所需的內部一致性評估工具,您必須準備自己的 ICE 來驗證您的套件。
撰寫 ICE 自訂動作時,您應該執行下列動作:
- 僅根據所顯示數據表所列類型的自定義動作來建立 ICE 的基礎。
- 呼叫 MsiProcessMessage 並張貼訊息INSTALLMESSAGE_USER類型。 撰寫您的 ICE 訊息時,請遵循 ICE 訊息指導方針中的訊息格式。
- 撰寫您的 ICE,使其擷取任何 API 錯誤,且一律會傳回ERROR_SUCCESS。 這是允許後續自定義動作在 ICE 失敗之後執行的必要動作。
ICE 自定義動作僅限於下列自定義動作類型。
自定義動作類型 | 描述 |
---|---|
自定義動作類型 1 | 二進位數據流中的 DLL |
自定義動作類型 2 | 二進位數據流中的 EXE |
自定義動作類型 5 | 二進位數據流中的 JScript |
自定義動作類型 6 | 二進位數據流中的 VBScript |
自定義動作類型 37 | JScript 程式代碼作為字串 |
自定義動作類型 38 | 以字串表示的 VBScript 程式代碼 |
撰寫 ICE 自定義動作時,請勿執行下列動作:
- 請勿假設 ICE 接收的引擎句柄是安裝程式資料庫的安裝實例。 如果不是安裝實例,則不會定義特定屬性、不會解析來源和目標目錄,也不會定義目前的功能狀態。
- 請勿依賴任何安裝程式動作、自定義動作或其他 ICE 的先前執行或非執行。 因為先前的 ICE 可能已在任何數據表中建立暫存數據行,因此作者應該盡可能依名稱參考數據行。 ICE 應該在結束之前清除任何暫存數據行或數據表。
- 請勿假設作者可以存取資料庫來源目錄的映像。
- 請勿假設對資料庫所做的變更不會保存。
相關主題