ICE92

ICE92 überprüft, ob eine Komponente ohne Komponenten-ID-GUID nicht auch als permanente Komponente angegeben wird. Diese benutzerdefinierte ICE-Aktion überprüft die Komponententabelle auf Komponenten ohne im Feld ComponentId angegebene GUID und überprüft, ob das Flag msidbComponentAttributesPermanent im Feld Attribute nicht festgelegt wurde. ICE92 überprüft außerdem, ob keine Komponente über die Attribute msidbComponentAttributesPermanent und msidbComponentAttributesUninstallOnSupersedence verfügt.

Wenn die ComponentId -Spalte NULL ist, registriert das Installationsprogramm die Komponente nicht, und die Komponente kann vom Installationsprogramm nicht entfernt oder repariert werden.

Ergebnis

ICE92 gibt den folgenden Fehler aus.

ICE92-Fehler Beschreibung
Die Komponente [ "1" ] hat keine ComponentId und ist als permanent markiert. Der Eintrag für diese Komponente in der Component -Tabelle hat NULL in der ComponentId -Spalte und msidbComponentAttributesPermanent in der Attributes -Spalte.

ICE92 gibt die folgende Warnung aus.

ICE92-Warnung Beschreibung
Die Komponente "1" ist als permanent markiert und wird bei [ ] der Deinstallation als ablösungsgezeichnet. Das Attribut uninstall-on-supersedence wird ignoriert, da die Komponente dauerhaft ist. Für den Eintrag für diese Komponente in der Component -Tabelle sind sowohl die Attribute msidbComponentAttributesPermanent als auch msidbComponentAttributesUninstallOnSupersedence angegeben.

Beispiel

ICE92 meldet den folgenden Fehler für das Beispiel:

The Component 'Component1' has no ComponentId and is marked as permanent.

Komponententabelle (partiell)

Komponente Componentid Verzeichnis_ Attributes KeyPath
Komponente1 DirectoryA 16 Filea

ICE-Referenz