建置 ICE
如果您找不到ICE 參考中列出的現有 ICE 自訂動作所需的內部一致性評估工具,您必須準備自己的 ICE 來驗證您的套件。
撰寫 ICE 自訂動作時,您應該執行下列動作:
- 僅根據所顯示資料表中所列類型的自訂動作,以 ICE 為基礎。
- 呼叫 MsiProcessMessage 並張貼INSTALLMESSAGE_USER類型的訊息。 撰寫 ICE 訊息時,請遵循 ICE 訊息指導方針中的訊息格式。
- 撰寫您的 ICE,使其擷取任何 API 錯誤,且一律會傳回ERROR_SUCCESS。 這是允許後續自訂動作在 ICE 失敗之後執行的必要條件。
ICE 自訂動作僅限於下列自訂動作類型。
自訂動作類型 | Description |
---|---|
自訂動作類型 1 | 二進位資料流程中的 DLL |
自訂動作類型 2 | 二進位資料流程中的 EXE |
自訂動作類型 5 | 二進位資料流程中的 JScript |
自訂動作類型 6 | 二進位資料流程中的 VBScript |
自訂動作類型 37 | JScript 程式碼作為字串 |
自訂動作類型 38 | VBScript 程式碼作為字串 |
撰寫 ICE 自訂動作時,請勿執行下列動作:
- 請勿假設 ICE 接收的引擎控制碼是安裝程式資料庫的安裝實例。 如果不是安裝實例,則不會定義某些屬性、不會解析來源和目標目錄,而且未定義目前的功能狀態。
- 請勿依賴任何安裝程式動作、自訂動作或其他 ICE 的先前執行或非執行。 由於先前的 ICE 可能已在任何資料表中建立暫存資料行,因此作者應該盡可能依名稱參考資料行。 ICE 應該在結束之前清除任何暫存資料行或資料表。
- 請勿假設作者可以存取資料庫來原始目錄的映射。
- 請勿假設對資料庫所做的變更不會保存。
相關主題
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應