Share via


CRC-Überprüfung während einer Installation

Windows Installer bietet eine CRC-Überprüfung (Cyclic Redundancy Check) für Dateien. Die CRC-Überprüfung ist ein Mechanismus zur Fehlerüberprüfung, der vergleichbar mit einer Prüfsumme ist. Mit ihr kann eine Anwendung bestimmen, ob die Informationen in einer Datei geändert wurden. Nachdem Windows Installer das Kopieren einer Datei abgeschlossen hat, ruft er einen CRC-Wert sowohl aus der Quell- als auch aus der Zieldatei ab. Der Installer überprüft den ursprünglichen in die Datei eingefügten CRC-Wert und vergleicht diesen mit dem anhand der Kopie berechneten CRC-Wert. Die CRC-Überprüfung schlägt fehl, wenn der ursprüngliche CRC-Wert ungleich NULL ist und sich von dem für die Kopie berechneten CRC-Wert unterscheidet. Wenn der ursprüngliche CRC-Wert NULL ist, erfolgt keine Überprüfung.

Windows Installer führt in den folgenden Fällen eine CRC-Überprüfung für eine Datei durch:

  • Die MSICHECKCRCS-Eigenschaft ist festgelegt, und msidbFileAttributesChecksum ist im Attributes-Feld des Dateidatensatzes in der File-Tabelle enthalten. Der Installer führt die CRC-Überprüfung durch, sobald die Datei installiert, dupliziert oder verschoben wurde.
  • Wenn die MSICHECKCRCS-Eigenschaft festgelegt und msidbFileAttributesChecksum im Attributes-Feld des Dateidatensatzes in der File-Tabelle enthalten ist, führt der Installer nach dem Patchen der Datei eine CRC-Überprüfung aus.
  • Wenn msidbFileAttributesChecksum im Attributes-Feld des Dateidatensatzes in der File-Tabelle enthalten ist, führt der Installer vor dem Binden von Images eine CRC-Überprüfung durch.

Wenn die Überprüfung vor der Bindung eines Images fehlschlägt, meldet der Installer die folgenden beiden Fehler in der Protokolldatei, und setzt die Installation fort, ohne die Datei zu binden.

Code `Message`
2941 Der CRC kann für die Datei [2] nicht berechnet werden.
2942 Die BindImage-Aktion wurde für die Datei [2] nicht ausgeführt.

 

Wenn die Überprüfung fehlschlägt, nachdem eine nicht komprimierte Datei kopiert, dupliziert oder gepatcht wurde, meldet der Installer den folgenden Fehler. Dieser Fehler wird auch gemeldet, wenn die Überprüfung nach dem Kopieren einer komprimierten Datei fehlschlägt. Wenn die Datei über das msidbFileAttributesVital-Attribut verfügt, wird sie als „vital“ für die Installation betrachtet, und der Benutzer erhält die Möglichkeit, die Installation zu wiederholen oder abzubrechen. Wenn die Datei in der Attributes-Spalte der File-Tabelle als „nonvital“ gekennzeichnet ist, kann der Benutzer den Fehler ignorieren und die Installation fortsetzen, wiederholen oder abbrechen.

Code `Message`
1331 Fehler beim ordnungsgemäßen Kopieren der Datei [2]: CRC-Fehler

 

Beachten Sie, dass nur Dateien verschoben werden, die nicht komprimiert sind. Wenn die Überprüfung nach dem Verschieben einer nicht komprimierten Datei fehlschlägt, zeigt der Installer den folgenden Fehler an. Wenn die Datei über das msidbFileAttributesVital-Attribut verfügt, wird sie als „vital“ für die Installation betrachtet, sodass die Installation fehlschlägt. Wenn die Datei in der Attributes-Spalte der File-Tabelle als „nonvital“ gekennzeichnet ist, kann der Benutzer den Vorgang abbrechen oder den Fehler ignorieren und die Installation fortsetzen.

Code `Message`
1332 Fehler beim ordnungsgemäßen Verschieben der Datei [2]: CRC-Fehler

 

Wenn die Überprüfung nach dem Patchen einer nicht komprimierten Datei fehlschlägt, zeigt der Installer den folgenden Fehler an. Wenn die Datei über das msidbFileAttributesVital-Attribut verfügt, wird sie als „vital“ für die Installation betrachtet, sodass die Installation fehlschlägt. Wenn die Datei in der Attributes-Spalte der File-Tabelle als „nonvital“ gekennzeichnet ist, kann der Benutzer den Vorgang abbrechen oder den Fehler ignorieren und die Installation fortsetzen.

Code `Message`
1333 Fehler beim ordnungsgemäßen Patchen der Datei [2]: CRC-Fehler