使用內部一致性評估工具
若要驗證資料庫,請使用特殊的驗證工具來合併包含 內部一致性評估工具 的 .cub 檔案, (IC) 到您的資料庫、執行 ICE,以及報告結果。 Microsoft Windows 軟體發展工具組 (SDK) 中提供數種這類工具。 協力廠商廠商的撰寫環境也可以將 ICE 驗證系統納入其撰寫環境中。 您也可以撰寫自己的工具來執行 ICE 驗證。 大部分的 ICE 驗證工具會將 .cub 檔案和您的資料庫合併到第三個暫存資料庫。 Windows Installer 會在 .cub 檔案中執行每個 ICE 時,顯示警告、錯誤、偵錯資訊和 API 錯誤。 當安裝程式完成執行 IC 時,它會關閉.msi檔案、.cub 檔案和暫存資料庫,而不會儲存任何變更。 驗證測試.msi檔案和 .cub 檔案會保持不變。
ICE 自訂動作會藉由呼叫 MsiProcessMessage 並張貼INSTALLMESSAGE_USER訊息來與使用者通訊。 ICE 訊息通常會傳回下列資訊:
- 找到錯誤的 ICE 名稱
- 建立 ICE 的日期
- ICE 作者
- 上次修改 ICE 的日期。
- 導致 ICE 失敗的 API 錯誤描述
- 錯誤的描述
- 對使用者發出警告
- 包含錯誤或警告的資料庫資料表名稱
- 包含錯誤或警告的資料表資料行名稱
- 包含錯誤或警告之資料表的主鍵
- HTML 檔案的 URL,提供偵錯建議
- 可包含其他資訊的字串
安裝套件的作者可以撰寫 ICE 自訂動作,或使用 SDK 提供的 .cub 檔案中包含的標準 IC 集合。 如需如何撰寫 ICE 的詳細資訊,請參閱 建置 ICE。
撰寫適當的 ICE 進行驗證之後,開發人員必須將自訂動作一起收集到.msi資料庫,稱為 .cub 檔案,其中包含僅包含 ICE 及其必要資料表。 無法安裝 .cub 檔案,而且只能用來儲存和提供 ICE 自訂動作的存取權。 如需建立 .cub 檔案的詳細資訊,請參閱 建置 ICE 資料庫。 或者,開發人員可以使用 ICE 參考中所述的現有 ICE 來驗證其安裝套件。 這些 ICE 可以從 SDK 所提供的標準 .cub 檔案取得。
安裝資料庫資料表編輯器 Orca 或驗證工具 msival2 會提供 Logo.cub、Darice.cub 和 Mergemod.cub 檔案。 Logo.cub 檔案中的一組 ICE 是 Darice.cub 檔案中的一部分。 如果您的套件使用 Darice.cub 通過驗證,則會以 Logo.cub 傳遞。 Mergemod.cub 包含一組用來驗證合併模組的 ICE。 如需詳細資訊,請參閱 合併模組 ICE 參考。
驗證安裝套件
- 取得或撰寫適當的 ICE 自訂動作。 您可以使用 ICE 參考中所述的一或多個現有 ICE。 如果您的驗證需要此清單中的 ICE,您可以建立新的 ICE,如 建置 ICE中所述。
- 準備包含所有 ICE 自訂動作的 ICE 資料庫。 如需準備 .cub 檔案的相關資訊,請參閱 建置 ICE 資料庫 一節。
- 將 .cub 檔案和.msi檔案提供給套件驗證工具,例如 Orca.exe 或 Msival2.exe。
請注意,應該驗證合併模組,如 驗證合併模組中所述。