ICE-Referenz

Ein ICE wird verwendet, um Installationspakete zu überprüfen. In der Tabelle in diesem Thema werden die einzelnen ICEs identifiziert. Informationen zu ICEMs, die zum Überprüfen von Mergemodulen verwendet werden, finden Sie in der Referenz zu Mergemodul-ICEs.

ICE BESCHREIBUNG
ICE01 Einfacher Test des ICE-Mechanismus.
ICE02 Test auf Zirkelverweise für Schlüsselpfade der File-Component, Registry-Component.
ICE03 Überprüfung grundlegender Daten und Fremdschlüssel.
ICE04 Überprüft die Dateisequenznummern anhand der LastSequence-Nummern der Media-Tabelle.
ICE05 Überprüft in bestimmten Tabellen auf „erforderliche“ Einträge.
ICE06 Überprüft auf fehlende Spalten oder Tabellen in der Datenbank. Jede in der _Validation-Tabelle definierte Spalte muss in der Datenbank gefunden werden.
ICE07 Überprüft, ob Schriftarten im FontsFolder installiert sind.
ICE08 Sucht in der ComponentId-Spalte der Component-Tabelle nach doppelten GUIDs.
ICE09 Überprüft, ob das permanente Bit für jede Komponente festgelegt ist, die für die Installation im SystemFolder markiert ist.
ICE10 Stellt sicher, dass die Ankündigungen von Featurezuständen zwischen untergeordneten und übergeordneten Elementen kompatibel sind.
ICE12 Überprüft benutzerdefinierte Aktionen vom Typ 35 und Typ 51 sowie deren Speicherorte in den Sequenztabellen.
ICE13 Verifiziert, dass Dialogfelder in den Ausführungssequenztabellen nicht als Aktionen aufgeführt sind. Dialogfeldaktionen sind nur in den Sequenztabellen der Benutzeroberfläche zulässig.
ICE14 Verifiziert, dass das „msidbFeatureAttributesFollowParent“-Bit für übergeordnete Features nicht festgelegt ist. Überprüft außerdem, ob die Einträge in den Spalten „Feature“ und „Feature_Parent“ im selben Datensatz nicht identisch sind.
ICE15 Verifiziert, dass zwischen jedem Eintrag in der MIME-Tabelle und der entsprechenden Erweiterung in der Extension-Tabelle ein Zirkelverweis vorhanden ist.
ICE16 Verifiziert, dass der ProductName in der Property-Tabelle nicht größer als 63 Zeichen ist.
ICE17 Überprüft Steuerelementtyp-Abhängigkeiten in der Control-Tabelle. Deckt PushButtons, RadioButtonGroups, ListBoxes, ListViews und ComboBoxes ab.
ICE18 Überprüft die KeyPath-Spalte der Component-Tabelle, wenn sie Null ist. In diesem Fall ist der Schlüsselpfad ein Verzeichnis.
ICE19 Überprüft die Ankündigungstabellen: Class, TypeLib, Extension, PublishComponents und Shortcut.
ICE20 Überprüft, ob sich die erforderlichen Dialogfelder in der Dialog-Tabelle befinden.
ICE21 Überprüft, ob alle Komponenten in der Component-Tabelle einem Feature in der FeatureComponents-Tabelle zugeordnet sind.
ICE22 Überprüft die Spalten „Feature_“ und „Component_“ in der PublishComponent-Tabelle.
ICE23 Überprüft die Aktivierreihenfolge der Steuerelemente in allen Dialogfeldern.
ICE24 Überprüft bestimmte Eigenschaften in der Property-Tabelle.
ICE25 Überprüft Mergemodulabhängigkeiten und Mergemodulausschlüsse.
ICE26 Überprüft erforderliche und unzulässige Aktionen in den Sequenztabellen.
ICE27 Überprüft die Organisation und Reihenfolge der Sequenztabellen.
ICE28 Überprüft Aktionen, die nicht durch ForceReboot getrennt werden dürfen.
ICE29 Verifiziert, dass Ihre Streamnamen eindeutig bleiben, wenn sie auf den Grenzwert von 62 Zeichen gekürzt werden.
ICE30 Verifiziert, dass bei der Installation von Komponenten, die dieselbe Datei enthalten, die Datei nie mehr als einmal im selben Verzeichnis installiert wird.
ICE31 Überprüft die in der Spalte „Text“ der Steuerelementtabelle aufgeführten Textformate.
ICE32 Vergleicht die Spaltendefinitionen, um zu überprüfen, ob Schlüssel und Fremdschlüssel dieselbe Größe und denselben Typ haben.
ICE33 Überprüft die Registrierungstabelle auf Einträge, die in andere Tabellen gehören.
ICE34 Überprüft, ob jede Gruppe von Optionsfeldern einen Standardwert aufweist.
ICE35 Verifiziert, dass bei Dateien aus einer CAB-Datei nicht die Ausführung aus der Quelle festgelegt werden kann.
ICE36 Verifiziert, dass in der Icon-Tabelle aufgeführte Symbole in den Tabellen „Class“, „ProgID“ oder „Shortcut“ verwendet werden.
ICE38 Verifiziert, dass die unter dem Profil des Benutzers installierten Komponenten einen Registrierungsschlüssel unter HKCU als Schlüsselpfad verwenden.
ICE39 Überprüft den Datenstrom der Zusammenfassungsinformationen (Summary Information) der Datenbank.
ICE40 Führt verschiedene sonstige Überprüfungen durch.
ICE41 Verifiziert, dass Einträge in den Tabellen „Extension“ und „Class“ auf Komponenten verweisen, die zu dem Feature gehören, auf das verwiesen wird.
ICE42 Verifiziert, dass für Einträge in der Class-Tabelle keine EXE-Dateien als InProc-Werte festgelegt sind und dass nur LocalServer-Kontexte Argumente und DefInProc-Werte aufweisen.
ICE43 Verifiziert, dass sich nicht angekündigte Verknüpfungen in Komponenten befinden, die HKCU-Registrierungsschlüssel als Schlüsselpfade verwenden.
ICE44 Verifiziert, dass Dialogfeldereignisse in der ControlEvent-Tabelle (NewDialog, SpawnDialog, SpawnWaitDialog) auf gültige Dialogfelder in der Dialog-Tabelle verweisen.
ICE45 Überprüft, ob reservierte Bits festgelegt sind.
ICE46 Sucht nach benutzerdefinierten Eigenschaften, die sich nur durch ihre Groß- und Kleinschreibung von definierten Eigenschaften unterscheiden.
ICE47 Sucht nach Features mit mehr als 1600 Komponenten pro Feature.
ICE48 Sucht nach Verzeichnissen, die in lokalen Pfaden hartcodiert sind.
ICE49 Sucht nach Standardwerten in der Registrierungstabelle die nicht vom Typ REG_SZ sind.
ICE50 Verifiziert, dass angekündigte Verknüpfungen korrekte Symbole und Kontextmenüs aufweisen.
ICE51 Verifiziert, dass TTC/TTF-Schriftarten keine Titel haben, aber dass alle anderen Schriftarten Titel besitzen.
ICE52 Sucht nach nicht öffentlichen Eigenschaften in der AppSearch-Tabelle.
ICE53 Sucht nach Registrierungseinträgen, die private Installerinformationen oder Richtlinienwerte schreiben.
ICE54 Sucht nach Komponenten, die Begleitdateien als Schlüsselpfaddatei verwenden.
ICE55 Überprüft, ob LockPermission-Objekte vorhanden sind und über gültige Berechtigungen verfügen.
ICE56 Überprüft, ob die Verzeichnisstruktur der MSI-Datei über einen einzigen gültigen Stamm verfügt.
ICE57 Verifiziert, dass einzelne Komponenten keine computergebundenen und benutzergebundenen Daten kombinieren.
ICE58 Verifiziert, dass Ihre Media-Tabelle nicht mehr als 80 Zeilen enthält.
ICE59 Überprüft, ob angekündigte Verknüpfungen zu Komponenten gehören, die vom Zielfeature der Verknüpfung installiert werden.
ICE60 Überprüft, ob eine Datei in der File-Tabelle keine Schriftart ist und über eine Version verfügt, sowie dann auch über eine Sprache.
ICE61 Überprüft die Upgrade-Tabelle.
ICE62 Sucht ausführlich in der IsolatedComponent-Tabelle nach Daten, die zu unerwartetem Verhalten führen können.
ICE63 Überprüft die ordnungsgemäße Sequenzierung der RemoveExistingProducts-Aktion.
ICE64 Verifiziert, dass neue Verzeichnisse im Benutzerprofil in Roamingszenarien entfernt werden.
ICE65 Verifiziert, dass die Environment-Tabelle keine ungültigen Präfix- oder Anfügewerte aufweist.
ICE66 Verwendet die Tabellen in der Datenbank, um zu bestimmen, welches Schema Ihre Datenbank verwenden soll.
ICE67 Überprüft, ob das Ziel einer nicht angekündigten Verknüpfung zu derselben Komponente wie die Verknüpfung selbst gehört, oder ob die Attribute der Zielkomponente sicherstellen, dass die Installationsorte nicht geändert werden.
ICE68 Überprüft, ob alle benutzerdefinierten Aktionstypen, die für eine Installation erforderlich sind, gültig sind.
ICE69 Verifiziert, dass alle Teilzeichenfolgen der Form [$componentkey] in einer formatierten Zeichenfolge keine Querverweise auf Komponenten enthalten.
ICE70 Verifiziert, dass ganzzahlige Werte für Registrierungseinträge ordnungsgemäß angegeben sind.
ICE71 Verifiziert, dass die Media-Tabelle einen Eintrag mit „DiskId = 1“ enthält.
ICE72 Stellt sicher, dass die einzigen benutzerdefinierten Aktionen, die in der AdvtExecuteSequence-Tabelle verwendet werden, benutzerdefinierte Aktionen vom Typ 19, Typ 35 und Typ 51 sind.
ICE73 Verifiziert, dass Ihr Paket keine Paketcodes oder Produktcodes der Windows Installer SDK-Beispiele wiederverwendet. Weitere Informationen finden Sie unter Paketcodes und Produktcodes.
ICE74 Verifiziert, dass die FASTOEM-Eigenschaft nicht in der Property-Tabelle erstellt wurde.
ICE75 Überprüft, ob alle benutzerdefinierten Aktionstypen, die eine installierte Datei als Quelle verwenden, in der Sequenz hinter der CostFinalize-Aktion liegen.
ICE76 Verifiziert, dass keine Dateien in der BindImage-Tabelle auf SFP (WFP)-Kataloge verweisen.
ICE77 Überprüft, ob benutzerdefinierte Aktionen im Skript in der Sequenz hinter der InstallInitialize-Aktion und vor der InstallFinalize-Aktion liegen.
ICE78 Überprüft, ob die AdvtUISequence-Tabelle entweder nicht vorhanden oder leer ist.
ICE79 Überprüft Verweise auf Komponenten und Features, die in die Datenbankfelder eingegeben wurden, mithilfe des Condition-Datentyps.
ICE80 Überprüft, ob die Eigenschaften Template Summary (Vorlagenzusammenfassung) und Page Count Summary (Seitenanzahlzusammenfassung) ordnungsgemäß das Vorhandensein von 64-Bit-Komponenten oder benutzerdefinierten Aktionsskripts angeben.
ICE81 Überprüft die Tabellen MsiDigitalCertificate, msiDigitalSignature und MsiPackageCertificate.
ICE82 Überprüft die InstallExecuteSequence-Tabelle.
ICE83 Überprüft die MsiAssembly-Tabelle.
ICE84 Überprüft die Sequenztabellen, um sicherzustellen, dass für erforderliche Standardaktionen keine Bedingungen festgelegt sind.
ICE85 Überprüft, ob die SourceName-Spalte der MoveFile-Tabelle ein gültiger langer Dateiname ist.
ICE86 Gibt eine Warnung aus, wenn das Paket die AdminUser-Eigenschaft in der Datenbankspalte des Condition-Typs verwendet.
ICE87 Verifiziert, dass die folgenden Eigenschaften nicht in der Property-Tabelle erstellt wurden.
ICE88 Überprüft die Spalte „DirProperty“ der IniFile-Tabelle.
ICE89 Überprüft, ob der Wert in der Spalte „Progid_Parent“ in der ProgId-Tabelle ein gültiger Fremdschlüssel in der ProgId-Spalte in der ProgId-Tabelle ist.
ICE90 Gibt eine Warnung aus, wenn festgestellt wird, dass das Verzeichnis einer Verknüpfung als öffentliche Eigenschaft angegeben wurde.
ICE91 Gibt eine Warnung aus, wenn eine Datei, INI-Datei oder Verknüpfungsdatei in einem benutzergebundenen Profilverzeichnis installiert wurde, das nicht je nach ALLUSERS-Eigenschaft variiert.
ICE92 Verifiziert, dass eine Komponente ohne Komponenten-ID-GUID nicht auch als permanente Komponente angegeben ist. Verifiziert, dass keine Komponente sowohl über das Attribut msidbComponentAttributesPermanent als auch das Attribut msidbComponentAttributesUninstallOnSupersedence verfügt.
ICE93 Gibt eine Warnung aus, wenn eine benutzerdefinierte Aktion denselben Namen wie eine Standardaktion verwendet.
ICE94 Gibt eine Warnung aus, wenn nicht angekündigte Verknüpfungen vorhanden sind, die auf eine Assemblydatei im globalen Assemblycache verweisen.
ICE95 Überprüft die Control-Tabelle und die BBControl-Tabelle, um sicherzustellen, dass die Billboard-Steuerelemente auf alle Billboards passen.
ICE96 Überprüft, ob die PublishFeatures-Aktion und die PublishProduct-Aktion in die AdvtExecuteSequence-Tabelle eingegeben wurden.
ICE97 Verifiziert, dass zwei Komponenten eine freigegebene Komponente nicht im selben Verzeichnis isolieren.
ICE98 Überprüft das Beschreibungsfeld der ODBCDataSource-Tabelle auf eine ODBC-Datenquelle.
ICE99 Verifiziert, dass kein in der Directory-Tabelle eingegebener Eigenschaftenname einen Namen dupliziert, der für die öffentliche oder private Verwendung von Windows Installer reserviert ist.
ICE100 Überprüft die Erstellung der Tabellen MsiEmbeddedUI und MsiEmbeddedChainer.
ICE101 Verifiziert, dass kein Wert in der Spalte „Feature“ der Feature-Tabelle die maximale Länge von 38 Zeichen überschreitet.
ICE102 Überprüft die Tabellen MsiServiceConfig und MsiServiceConfigFailureActions.
ICE103 Überprüft die Steuerelementereignisse MsiPrint und MsiLaunchApp.
ICE104 Überprüft die Tabellen MsiLockPermissionsEx und LockPermissions.
ICE105 Überprüft, ob das Paket erstellt wurde, um in einem benutzergebundenen Kontext installiert zu werden.