ICE35

ICE35 vérifie que les composants contenant des fichiers compressés stockés dans un fichier d’armoire ne sont pas définis pour s’exécuter à partir de la source. Avec Windows Installer 2.0 ou version ultérieure, cette restriction a été supprimée.

ICE35 interroge la colonne Cabinet de la table Media pour déterminer quels fichiers sont compressés et stockés dans un fichier d’armoire. Il interroge la table File pour déterminer quels composants contiennent ces fichiers. Enfin, il vérifie la table Component pour déterminer si les bits d’exécution à partir de la source sont définis dans la colonne Attributs.

Résultats

ICE35 publie un message d’erreur s’il existe un fichier compressé stocké dans un fichier d’armoire appartenant à un composant avec le bit msidbComponentAttributesSourceOnly défini dans la colonne Attributs de la table Component. Avec Windows Installer 2.0 ou version ultérieure, cela passe d’une erreur à un message d’avertissement. Un package qui prend uniquement en charge Windows Installer 2.0 et versions ultérieures a la propriété PID_PAGECOUNT du flux d’informations récapitulative définie sur une valeur d’au moins 200.

ICE35 publie un message d’erreur s’il existe un fichier compressé stocké dans un fichier d’armoire appartenant à un composant avec le bit msidbComponentAttributesSourceOnly défini dans la colonne Attributs de la table Component. Ce message d’avertissement a été supprimé avec Windows Installer 2.0 et versions ultérieures.

Si plusieurs fichiers d’un composant se trouvent dans un fichier d’armoire, ICE35 signale des erreurs pour chaque fichier qui a l’exécution à partir d’un jeu de bits source.

Exemple

ICE35 signale les erreurs et avertissements suivants pour l’exemple illustré à l’aide d’une version antérieure à Windows Installer version 2.0.

Erreur ICE35 Description
ERREUR : Le composant Component3 ne peut pas être exécuté à partir de la source uniquement, car son fichier membre « File3 » est compressé. Il existe un fichier compressé stocké dans un fichier d’armoire et ce fichier appartient à un composant avec le bit SourceOnly défini dans la colonne Attributs de la table Component. Pour corriger cette erreur, remplacez les 2 bits inférieurs de la valeur Attributs de Component2 par « 00 », c’est-à-dire Local uniquement, ou supprimez File4 du fichier CAB.
ERREUR : Le composant Component3 ne peut pas être exécuté à partir de la source uniquement, car son fichier membre « File3 » est compressé. Il existe un fichier compressé stocké dans un fichier d’armoire et ce fichier appartient à un composant avec le bit SourceOnly défini dans la colonne Attributs de la table Component. Étant donné que les fichiers d’un composant ne doivent pas tous provenir du même média, ICE35 signale des erreurs pour chaque fichier du composant qui se trouve dans une armoire.
Pour corriger cette erreur, remplacez les 2 bits inférieurs de la valeur Attributs de Component2 par « 00 », c’est-à-dire Local uniquement, ou supprimez File4 du fichier CAB.

 

Table Media (partielle)

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

 

Table File (partielle)

Fichier Component_ Séquence
Fichier1 Composant1 1
Fichier2 Composant2 2
Fichier3 Composant2 3
Fichier4 Composant3 4
Fichier5 Composant3 5

 

Table de composants (partielle)

Composant Attributs
Component1 0
Composant2 2
Composant3 1

 

Table Shortcut (partielle)

Raccourci Icon_
Shortcut1 Icon2

 

Notez que les fichiers peuvent également être marqués comme compressés à l’aide de la propriété Word Count Summary du flux d’informations de résumé.

Référence ICE