ICE02

ICE02 überprüft, ob bestimmte Verweise zwischen den Tabellen Component, File und Registry wechselseitig sind. Diese Verweise müssen wechselseitig sein, damit das Installationsprogramm den Installationszustand der Komponenten ordnungsgemäß bestimmen kann.

Das Installationsprogramm verwendet die KeyPath-Spalte der Component-Tabelle, um das Vorhandensein der in der Component-Spalte aufgeführten Komponente zu erkennen. Die KeyPath-Spalte enthält einen Schlüssel in die Registrierungs- oder Dateitabelle. Beide dieser Tabellen verfügen über eine „Component_“-Spalte, die einen Schlüssel zurück in die Component-Tabelle enthält, der auf die Komponente verweist, die den Registrierungseintrag oder die Datei steuert. Diese Verweise müssen wechselseitig sein.

Ergebnis

ICE02 gibt eine Fehlermeldung aus, wenn ein Verweis gefunden wird, der wechselseitig sein sollte, dies aber nicht ist.

Beispiel

ICE02 würde bei einer MSI-Datei, die die gezeigten Datenbankeinträge enthält, die folgenden Fehlermeldungen ausgeben.

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

Component-Tabelle (teilweise)

Komponente KeyPath
Red Red_File
Blau Red_File

 

File-Tabelle (teilweise)

File-Spalte Component_
Red_File Red
Blue_File Blau

 

Komponente Blue verweist auf Red_File, aber Red_File wird nicht von Komponente Blue gesteuert und kann daher nicht die KeyPath-Datei sein. Wenn das Installationsprogramm aufgerufen würde, um den Installationszustand von Blue abzurufen, würde es fälschlicherweise überprüfen, ob Red_File installiert wurde. Das Ändern des KeyPath-Felds für Blue in der Component-Tabelle in Blue_File behebt den Fehler.

ICE-Referenz