ICE43

ICE43 verifiziert, dass Verknüpfungen, die auf kein Feature als Ziel verweisen (nicht angekündigte Verknüpfungen), in Komponenten vorhanden sind, die einen HKCU-Registrierungseintrag als Schlüsselpfad haben.

Ergebnis

ICE43 gibt eine Fehlermeldung aus, wenn sich eine nicht angekündigte Verknüpfung in einer Komponente befindet, die keinen HKCU-Registrierungseintrag als Schlüsselpfad hat.

Beispiel

ICE43 würde die folgenden Fehler für das gezeigte Beispiel zeigen.

ICE43-Fehler BESCHREIBUNG
Komponente Componente1 verfügt über nicht angekündigte Verknüpfungen. Sie muss einen Registrierungsschlüssel unter HKCU als KeyPath verwenden, keine Datei. Die Attributes-Spalte von Component1 ist 0, was bedeutet, dass die Komponente eine Datei als KeyPath verwendet. Dadurch werden nicht angekündigte Verknüpfungen in dieser Komponente NUR für den ersten Benutzer auf dem Computer installiert. Benutzern, die die Komponente später installieren, werden die Verknüpfungen nicht angezeigt, da die Komponente dem Installationsprogramm als bereits auf dem Computer vorhanden vorkommt. Um diesen Fehler zu beheben, legen Sie das RegistryKeyPath-Bit der Attribute fest, um die Komponente auf einen Registrierungseintrag umzustellen, und ändern Sie dann den KeyPath-Wert in einen gültigen Eintrag in der Registry-Tabelle.
Komponente Componente2 verfügt über nicht angekündigte Verknüpfungen. Sie muss einen Registrierungsschlüssel unter HKCU als KeyPath verwenden. Der KeyPath ist derzeit Null. Die Attributes-Spalte ist so festgelegt, dass die Registrierung verwendet wird, aber keyPath ist Null. Der KeyPath muss auf einen Eintrag in der Registry-Tabelle verweisen. Um diesen Fehler zu beheben, ändern Sie den KeyPath-Wert in einen gültigen Eintrag in der Registry-Tabelle.
Komponente Componente3 verfügt über nicht angekündigte Verknüpfungen. Ihr KeyPath-Registrierungsschlüssel muss unter HKCU fallen. Die Attributes-Spalte ist so festgelegt, dass die Registrierung verwendet wird, aber der Registrierungseintrag, auf den verwiesen wird, befindet sich nicht unter HKCU. Um diesen Fehler zu beheben, wechseln Sie entweder zu einem anderen Registrierungseintrag als KeyPath für diese Komponente, oder Sie ändern den Root-Wert des Registrierungseintrags in „-1“ oder „1“.
Der KeyPath-Registrierungseintrag für Komponente Component4 ist nicht vorhanden. Der Registrierungseintrag, auf den in der KeyPath-Spalte der Komponente verwiesen wird, befindet sich nicht in der Registry-Tabelle. Um diesen Fehler zu beheben, erstellen Sie einen Eintrag.
Der Registrierungseintrag „Reg5“ ist als KeyPath für Komponente Component5 festgelegt, aber dieser Registrierungseintrag gehört nicht zu Component5. Es gibt einen Registrierungseintrag, auf den in der KeyPath-Spalte der Komponente verwiesen wird, die sich unter der HKCU-Struktur befindet, aber die „Component_“-Spalte des Registrierungseintrags verweist nicht zurück auf dieselbe Komponente, in der er als KeyPath aufgeführt wurde. Dies bedeutet, dass der als KeyPath der Komponente verwendete Registrierungseintrag nur erstellt wird, wenn eine andere Komponente installiert wurde. Um diesen Fehler zu beheben, ändern Sie den KeyPath-Wert so, dass er auf einen Registrierungseintrag verweist, der zu der Komponente gehört, oder ändern Sie den Registrierungseintrag so, dass er zu der Komponente gehört, die ihn als KeyPath verwendet.

 

Component-Tabelle (teilweise)

Komponente Attribute KeyPath
Component1 0 Datei1
Component2 4  
Component3 4 Reg3
Component4 4 Reg4
Component5 4 Reg5

 

Registry-Tabelle (teilweise)

Registrierung Root Wert Component_
Reg3 2 Component3
Reg5 0 Component4

 

ICE-Referenz