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 |
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 |
Rubriques connexes