ICE67

ICE67 vérifie que la cible d’un raccourci non publié appartient au même composant que le raccourci lui-même, ou que les attributs du composant cible garantissent qu’il ne modifie pas les emplacements d’installation.

Si vous ne corrigez pas un avertissement ou une erreur signalé par ICE67, le raccourci n’est pas valide si le composant cible change d’état et que le composant source ne le fait pas. Par exemple, lorsque le composant du fichier cible est défini pour s’exécuter à partir de la source, une réinstallation qui remplace le composant en local entraîne la non-réinstallation du composant contenant le raccourci. Ainsi, le raccourci pointe vers un emplacement non valide.

Notez que dans certains cas, l’utilisation d’un autre composant pour le raccourci est inévitable. Par exemple, si le raccourci est créé dans le profil utilisateur et que le fichier est installé dans un répertoire sans profil, vous ne pourrez peut-être pas utiliser le même composant pour les deux éléments de données. (Cela entraîne des échecs dans les scénarios multi-utilisateurs, comme ceux décrits dans ICE57). Dans ce cas, vous pourrez peut-être utiliser des raccourcis publiés pour obtenir le comportement souhaité, ou vous pouvez simplement vous assurer que le composant cible ne peut pas passer de run-from-source à local.

Résultats

ICE67 renvoie une erreur ou un avertissement si la cible d’un raccourci non publié n’appartient pas au même composant que le raccourci lui-même, ou si les attributs du composant cible ne garantissent pas que les emplacements d’installation ne changeront pas.

Exemple

ICE67 signale l’avertissement et les erreurs suivants pour l’exemple présenté.

The shortcut 'Shortcut1' is a non-advertised shortcut with a file target. The shortcut and target are installed by different components, and the target component can run locally or from source.

Shortcut1 est installé par Component2, mais son fichier cible, File1, est installé par Component1. Le composant cible est marqué comme facultatif (ce qui signifie qu’il peut être local ou run-from-source). Une situation possible qui provoquerait un problème est si Component1 passe de run-from-source à local. Cela entraînerait le pointage de Shortcut1 vers un emplacement non valide.

Pour corriger cet avertissement, installez le raccourci dans le cadre de Component1, ou marquez Component1 comme LocalOnly ou SourceOnly.

Table File (partielle)

Fichier Component_
Fichier1 Component1

 

Table Shortcut (partielle)

Raccourci Component_ Cible
Shortcut1 Component2 [#File1]

 

Table Component (partielle)

Composant Attributs
Component1 2

 

Référence ICE