內部一致性評估工具 - ICE
內部一致性評估工具也稱為 ICE,是以 VBScript、JScript 或 DLL 或 EXE 撰寫的自定義動作。 執行這些自定義動作時,他們會掃描資料庫,以取得個別檢查時有效的資料庫記錄中專案,但這可能會導致整個資料庫內容中的行為不正確。 請注意,這與使用 msiViewModify 在個別記錄上完成的驗證不同。
例如,元件數據表 可能會列出使用 msiViewModify個別測試時,所有有效的元件。 不過,當兩個元件使用與其元件程式代碼相同的 GUID 時,MsiViewModify 不會攔截錯誤。 ICE08 自定義動作的設計目的是驗證元件數據表不包含重複的元件程式代碼 GUID。
ICE 自定義動作會傳回四種訊息:
- 錯誤 錯誤訊息報告造成不正確行為的資料庫撰寫。 例如,重複的元件 GUID 會導致安裝程式不正確地註冊元件。
- 警告 警告訊息報告資料庫撰寫,在某些情況下會導致不正確的行為。 警告也可以報告資料庫撰寫的非預期副作用。 例如,在兩個只有名稱中字母大小寫不同的情況下輸入相同的屬性名稱。 因為安裝程式區分大小寫,安裝程式會將這些視為不同的屬性。
- 失敗 失敗訊息會報告 ICE 自定義動作失敗。 失敗通常是由資料庫所造成,而且有如此嚴重的問題,而 ICE 甚至無法執行。
- 資訊 資訊訊息會提供 ICE 的資訊,而且不會指出資料庫發生問題。 通常它們是 ICE 本身的相關信息,例如簡短的描述。 它們也可以在 ICE 執行時提供進度資訊。