Freigeben über


ICE35

ICE35 überprüft, ob Komponenten, die komprimierte Dateien enthalten, die in einer Cab-Datei gespeichert sind, nicht für die Ausführung aus der Quelle festgelegt sind. Mit Windows Installer 2.0 oder höher wurde diese Einschränkung entfernt.

ICE35 fragt die Cab-Spalte der Media-Tabelle ab, um zu bestimmen, welche Dateien komprimiert und in einer CAB-Datei gespeichert werden. Es fragt die Dateitabelle ab, um zu bestimmen, welche Komponenten diese Dateien enthalten. Schließlich überprüft sie die Component-Tabelle, um zu bestimmen, ob die Run-from-Source-Bits in der Spalte "Attribute" festgelegt sind.

Ergebnis

ICE35 sendet eine Fehlermeldung, wenn eine komprimierte Datei in einer Cab-Datei gespeichert ist, die zu einer Komponente gehört, wobei das msidbComponentAttributesSourceOnly-Bit in der Spalte "Attribute" der Component-Tabellefestgelegt ist. Bei Windows Installer 2.0 oder höher wird dies von einem Fehler in eine Warnmeldung geändert. Ein Paket, das nur Windows Installer 2.0 und höher unterstützt, verfügt über die PID_PAGECOUNT-Eigenschaft des Zusammenfassungsinformationsdatenstroms, der auf einen Wert von mindestens 200 festgelegt ist.

ICE35 postet Warnmeldung, wenn eine komprimierte Datei in einer Cab-Datei gespeichert ist, die zu einer Komponente gehört, wobei das msidbComponentAttributesOptional-Bit in der Spalte "Attribute" der Component-Tabellefestgelegt ist. Diese Warnmeldung wurde mit Windows Installer 2.0 und höher entfernt.

Wenn sich mehrere Dateien in einer Komponente in einer Cab-Datei befinden, meldet ICE35 Fehler für jede Datei, die die Ausführung aus dem Quellbitsatz hat.

Beispiel

ICE35 meldet die folgenden Fehler und Warnungen für das Beispiel, das mit einer früheren Version als Windows Installer, Version 2.0 gezeigt wurde.

ICE35-Fehler Beschreibung
FEHLER: Komponentenkomponente3 kann nicht nur aus Quelle ausgeführt werden, da die Memberdatei 'File3' komprimiert ist. Es gibt eine komprimierte Datei, die in einer Cab-Datei gespeichert ist und diese Datei zu einer Komponente gehört, deren Bit "SourceOnly" in der Spalte "Attribute" der tabelle Komponentefestgelegt ist. Um diesen Fehler zu beheben, ändern Sie die niedrigeren 2 Bits des Attribute-Werts von Component2 in "00", d. h. nur lokal, oder entfernen Sie File4 aus der CAB-Datei.
FEHLER: Komponentenkomponente3 kann nicht nur aus Quelle ausgeführt werden, da die Memberdatei 'File3' komprimiert ist. Es gibt eine komprimierte Datei, die in einer Cab-Datei gespeichert ist und diese Datei zu einer Komponente gehört, deren Bit "SourceOnly" in der Spalte "Attribute" der tabelle Komponentefestgelegt ist. Da die Dateien in einer Komponente nicht alle aus denselben Medien stammen müssen, meldet ICE35 Fehler für jede Datei in der Komponente, die sich in einer Kabinett befindet.
Um diesen Fehler zu beheben, ändern Sie die niedrigeren 2 Bits des Attribute-Werts von Component2 in "00", d. h. nur lokal, oder entfernen Sie File4 aus der CAB-Datei.

 

Medientabellen- (teilweise)

DiskID LastSequence Schrank
1 2  
2 4 One.cab
3 5 #Two.cab

 

Dateitabelle (teilweise)

Datei Bestandteil_ Reihenfolge
Datei1 Komponente1 1
Datei2 Komponente2 2
Datei3 Komponente2 3
Datei4 Komponente3 4
Datei5 Komponente3 5

 

Komponententabelle (teilweise)

Bestandteil Attribute
Komponente1 0
Komponente2 2
Komponente3 1

 

Verknüpfungstabelle (teilweise)

Abkürzung Ikone_
Verknüpfung1 Symbol2

 

Beachten Sie, dass Dateien auch mithilfe der Word Count Summary Property des Summary Information Streamals komprimiert gekennzeichnet werden können.

ICE Reference