ICE30

ICE30 vérifie que l’installation des composants contenant le même fichier n’installe jamais le fichier plus d’une fois dans le même répertoire.

ICE30 accède à chaque composant de la table Component, puis détermine le répertoire cible du composant à partir de la table Directory. Il recherche ensuite lequel de ces composants s’installe dans le même répertoire cible. Enfin, il utilise la table File pour vérifier qu’aucun des fichiers de ces composants n’a le même nom.

ICE30 vérifie les noms de fichier longs (LFN) et les noms de fichier courts (SFN).

ICE30 n’évalue pas les propriétés dans le cadre de la résolution des répertoires, car ces propriétés peuvent changer au moment de l’exécution et modifier le schéma de résolution des répertoires. Cela signifie qu’ICE30 peut détecter les collisions de fichiers dues à la présence de répertoires ayant la même propriété dans leurs chemins, mais qu’il ne détecte pas les collisions résultant de l’utilisation de deux propriétés de même valeur.

Résultats

ICE30 publie un message d’erreur pour chaque paire de composants qui installe le même fichier dans le même répertoire.

Exemple

L’exemple présenté retourne chacune des erreurs suivantes à deux reprises.

Erreur ou avertissement ICE30 Description
ERREUR : Le fichier cible 'README.1st' est installé dans 'TARGETDIR\PRODUCT' par deux composants différents sur un système SFN : 'Component1' et 'Component2'. Cela interrompt le comptage des références de composants. Component1 et Component2 ont tous deux un fichier nommé 'READEME.1st'. Lorsque vous utilisez des noms de fichier courts, le programme d’installation installe Dir1 et Dir2 dans le même répertoire, TARGETDIR\PRODUCT.
ICE30 génère deux erreurs, une pour chaque fichier. Dans un environnement de création qui affiche les emplacements des erreurs, la première erreur se trouve à l’entrée d’un fichier dans la table File et la seconde à l’emplacement de l’autre fichier.
ERREUR : L’installation d’un composant avec conditions entraîne l’installation du fichier cible 'README.1st' dans 'TARGETDIR\COMMON TOOLS' par deux composants différents sur un système LFN : 'Component3' et 'Component4'. Cela interrompt le comptage des références de composants. Component4 a une entrée dans la colonne Condition de la table Component, et Component3 n’en a pas. Si VersionNT a la valeur True, Component4 est installé, ce qui génère une collision avec le fichier Readme.1st qui est toujours installé par Component3.
ICE30 génère quatre erreurs (deux pour SFN et deux pour LFN).
AVERTISSEMENT : Le fichier cible 'README.1st' peut être installé dans 'TARGETDIR\COMMON TOOLS' par deux composants avec conditions différents sur un système SFN : 'Component4' et 'Component5'. Si les conditions ne s’excluent pas mutuellement, cela interrompt le système de comptage des références de composants. Étant donné que Component4 et Component5 ont tous deux des entrées dans la colonne Condition de la table Component, cette collision de fichiers peut ne pas se produire. ICE30 publie un avertissement uniquement parce que les conditions doivent être déterminées au moment de l’installation.
ICE30 génère quatre avertissements (deux pour SFN et deux pour LFN).

 

Table Component (partielle)

Composant Répertoire Condition
Component1 Dir1
Component2 Dir2
Component3 Dir3
Component4 Dir3 VersionNT
Component5 Dir3 Version9X

 

Table Directory

Répertoire Parent_Directory DefaultDir
SOURCEDIR   TARGETDIR
Dir1 SOURCEDIR Product|Component1 Product:.
Dir2 SOURCEDIR Product:.
Dir3 SOURCEDIR Common|Common Tools:

 

Table File (partielle)

Fichier Component_ FileName
Fichier1 Component1 README.1st
Fichier2 Component2 README.1st
Fichier3 Component3 README.1st
Fichier4 Component4 README.1st
Fichier5 Component5 README.1st

 

Référence ICE