ICE02

ICE02 會驗證元件檔案登錄數據表之間的特定參考是相互的。 這些參考必須是對等的,安裝程式才能正確判斷元件的安裝狀態。

安裝程式會使用 Component 數據表的 KeyPath 數據行來偵測 Component 資料行中所列的元件是否存在。 KeyPath 數據行包含登錄或檔案數據表中的機碼。 這兩個數據表都有一個Component_數據行,其中包含指向控制登錄專案或檔案之元件的元件數據表中的索引鍵。 這些參考必須是相互的。

結果

如果 ICE02 找到應為互惠且不是的參考,則會張貼錯誤訊息。

範例

ICE02 會針對包含所顯示資料庫專案的 .msi 檔案張貼下列錯誤訊息。

File: 'Red_File' cannot be the key file for Component: 'Blue'. The file belongs to Component: 'Red'

元件表 (部分)

元件 KeyPath
Red_File
藍色 Red_File

 

檔案表格 (部分)

檔案數據行 元件_
Red_File
Blue_File 藍色

 

元件藍色參考Red_File,但Red_File不受 Component Blue 控制,因此不能是 KeyPath 檔案。 如果呼叫安裝程式以取得 Blue 的安裝狀態,則會錯誤地檢查是否已安裝Red_File。 將元件數據表中 Blue 的 KeyPath 字段變更為Blue_File修正錯誤。

ICE 參考