ICE43

ICE43 vérifie que les raccourcis qui ne référencent pas une fonctionnalité en tant que cible (à savoir les raccourcis non publiés) se trouvent dans des composants qui ont comme valeur KeyPath une entrée de Registre sous HKCU.

Résultats

ICE43 publie un message d’erreur si un raccourci non publié se trouve dans un composant qui n’a pas comme valeur KeyPath une entrée de Registre sous HKCU.

Exemple

ICE43 signalerait les erreurs suivantes pour l’exemple présenté.

Erreur ICE43 Description
Le composant Component1 a des raccourcis non publiés. Il doit utiliser une clé de Registre sous HKCU comme KeyPath, et non un fichier. La colonne Attributes de Component1 est 0, ce qui signifie que le composant utilise un fichier comme KeyPath. La conséquence est que les raccourcis non publiés dans ce composant sont installés pour le premier utilisateur sur l’ordinateur UNIQUEMENT. Les utilisateurs qui installent le composant après ne voient pas les raccourcis, car le programme d’installation considère que le composant existe déjà sur l’ordinateur. Pour corriger cette erreur, définissez le bit RegistryKeyPath des attributs pour basculer le composant vers une entrée de Registre, puis remplacez la valeur KeyPath par une entrée valide dans la table Registry.
Le composant Component2 a des raccourcis non publiés. Il doit utiliser une clé de Registre sous HKCU comme KeyPath. KeyPath est actuellement Null. La colonne Attributes est définie pour utiliser le Registre, mais KeyPath est Null. KeyPath doit référencer une entrée dans la table Registry. Pour corriger cette erreur, remplacez la valeur KeyPath par une entrée valide dans la table Registry.
Le composant Component3 a des raccourcis non publiés. Sa clé de Registre KeyPath doit se trouver sous HKCU. La colonne Attributes est définie pour utiliser le Registre, mais l’entrée de Registre référencée ne se trouve pas sous HKCU. Pour corriger cette erreur, définissez une autre entrée de Registre comme KeyPath pour ce composant, ou remplacez la valeur Root de l’entrée de Registre par -1 ou 1.
L’entrée de Registre KeyPath pour le composant Component4 n’existe pas. L’entrée de Registre référencée dans la colonne KeyPath du composant n’est pas dans la table Registry. Pour corriger cette erreur, créez une entrée.
L’entrée de Registre Reg5 est définie comme KeyPath pour le composant Component5, mais cette entrée de Registre n’appartient pas à Component5. Il y a une entrée de Registre référencée dans la colonne KeyPath du composant qui se trouve sous l’arborescence HKCU, mais la colonne Component_ de l’entrée de Registre ne référence pas le même composant que celui qui l’a listée comme KeyPath. Cela signifie que l’entrée de Registre utilisée comme KeyPath du composant n’est créée que si un autre composant a déjà été installé. Pour corriger cette erreur, modifiez la valeur KeyPath pour qu’elle référence une entrée de Registre appartenant au composant, ou modifiez l’entrée de Registre pour qu’elle appartienne au composant qui l’utilise comme KeyPath.

 

Table Component (partielle)

Composant Attributs KeyPath
Component1 0 Fichier1
Component2 4  
Component3 4 Reg3
Component4 4 Reg4
Component5 4 Reg5

 

Table Registry (partielle)

Registre Root Valeur Component_
Reg3 2 Component3
Reg5 0 Component4

 

Référence ICE