ICE43

ICE43 會驗證未參考功能作為其目標 (非公告快捷方式的快捷方式,) 位於具有 HKCU 登錄專案做為其機碼路徑的元件中。

結果

如果未公告的快捷方式位於沒有 HKCU 登錄專案的元件中做為其機碼路徑,ICE43 就會張貼錯誤訊息。

範例

ICE43 會針對顯示的範例報告下列錯誤。

ICE43 錯誤 描述
元件元件 1 具有未公告的快捷方式。 它必須使用 HKCU 下的登錄機碼作為其 KeyPath,而不是檔案。 Component1 的屬性資料行為 0,這表示元件會使用檔案作為其 KeyPath。 這會導致此元件中的非公告快捷方式只針對電腦上的第一位使用者安裝。 稍後安裝元件的使用者看不到快捷方式,因為元件會顯示在電腦上已存在的安裝程式。 若要修正此錯誤,請將屬性的 RegistryKeyPath 位設定為將元件切換至登錄專案,然後將 KeyPath 值變更為登錄資料表中的有效專案。
元件元件 2 具有未公告的快捷方式。 它必須使用 HKCU 下的登錄機碼作為其 KeyPath。 KeyPath 目前為 Null。 Attributes 資料行設定為使用登錄,但 KeyPath 為 Null。 KeyPath 必須參考登錄資料表中的專案。 若要修正此錯誤,請將 KeyPath 值變更為登錄資料表中的有效專案。
元件元件 3 具有未公告的快捷方式。 其 KeyPath 登錄機碼必須落在 HKCU 之下。 [屬性] 資料行設定為使用登錄,但參考的登錄專案不在 HKCU 之下。 若要修正此錯誤,請切換至不同的登錄專案作為此元件的 KeyPath,或將登錄專案的 Root 值變更為 -1 或 1。
元件 Component4 的 KeyPath 登錄專案不存在。 元件之 KeyPath 資料行中所參考的登錄專案不在登錄資料表中。 若要修正此錯誤,請建立專案。
登錄專案 Reg5 會設定為 Component5 的 KeyPath,但該登錄專案不屬於 Component5。 元件之 KeyPath 資料行中有參考的登錄專案位於 HKCU 樹狀結構之下,但登錄專案的 [Component_] 資料行不會參考其列為 KeyPath 的相同元件。 這表示只有在安裝其他元件時,才會建立作為元件的 KeyPath 使用的登錄專案。 若要修正此錯誤,請變更 KeyPath 值,以參考屬於元件的登錄專案,或將登錄專案變更為使用該登錄專案作為 KeyPath 的元件。

 

元件資料表 (部分)

元件 屬性 KeyPath
Component1 0 File1
Component2 4  
Component3 4 Reg3
Component4 4 Reg4
Component5 4 Reg5

 

部分) 登錄表 (

登錄 Root 元件_
Reg3 2 Component3
Reg5 0 Component4

 

ICE 參考