Partager via


ICE38

ICE38 valide que chaque composant installé sous le profil de l’utilisateur actuel spécifie également une clé de Registre sous la racine HKEY_CURRENT_USER dans la colonne KeyPath de la table Composant.

Résultat

ICE38 publie une erreur si un composant installé sous le profil de l’utilisateur ne spécifie pas de clé de Registre HKCU.

Exemple

ICE38 signale les erreurs suivantes pour l’exemple indiqué.

Erreur ICE38 Description
Component Component1 s’installe sur le profil utilisateur. Il doit utiliser une clé de Registre sous HKCU comme keyPath, et non un fichier. La valeur de la colonne d’attributs de Component1 est 0, ce qui signifie que le composant doit utiliser un fichier comme keyPath. Cela provoque des difficultés lorsque plusieurs utilisateurs installent le composant sur le même ordinateur. Pour corriger cette erreur sur Component1, définissez le bit RegistryKeyPath dans la colonne Attributs de la table Composant et remplacez l’entrée dans la colonne KeyPath par une valeur répertoriée dans la colonne Registre de la table Registre.
Component Component2 s’installe sur le profil utilisateur. Il doit utiliser une clé de Registre sous HKCU comme KeyPath. KeyPath est actuellement NULL. Component2 a le bit RegistryKeyPath défini dans la colonne Attributs de la table composant . Le champ KeyPath doit donc contenir une clé dans la colonne Registre de la table de Registre , mais la colonne KeyPath est Null. Pour corriger cette erreur, remplacez la valeur KeyPath par une entrée valide dans la table Registre.
Component Component3 s’installe sur le profil utilisateur. La clé de Registre KeyPath doit se trouver sous HKCU. Component3 a le bit RegistryKeyPath défini dans la colonne Attributs de la table composant , mais la racine de l’entrée de Registre spécifiée dans la colonne Racine de la table De Registre spécifie HKEY_LOCAL_MACHINE plutôt que HKEY_CURRENT_USER. Pour corriger cette erreur, utilisez une entrée de Registre valide sous HKEY_LOCAL_MACHINE en tant que KeyPath pour ce composant ou modifiez la valeur dans la colonne Racine de la table Registre sur -1 ou 1.
L’entrée de Registre KeyPath pour le composant Component4 n’existe pas. Component4 a le bit RegistryKeyPath défini dans la colonne Attributs de la table composant , mais l’entrée dans la colonne KeyPath n’existe pas dans la table de Registre . Pour corriger cette erreur, ajoutez une entrée pour Reg4 à la table Registre qui est un sous HKEY_CURRENT_USER.
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. L’entrée de Registre référencée dans la colonne KeyPath du composant a été trouvée et se trouve sous l’arborescence HKCU, mais la colonne Component_ de l’entrée de Registre ne fait pas référence au même composant que celui qui l’a listé comme KeyPath. Cela signifie que l’entrée de Registre utilisée comme KeyPath du composant ne sera créée que lorsque d’autres composants ont été installés. Pour corriger cette erreur, modifiez la valeur KeyPath pour faire référence à une entrée de Registre qui appartient au composant, ou modifiez l’entrée de Registre pour appartenir au composant à l’aide de celui-ci en tant que KeyPath.

 

table de répertoires (partielle)

Répertoire Directory_Parent DefaultDir
Dir1 StartMenuFolder
Dir2 DesktopFolder
Dir3 Dir3 AppData
Dir4 Dir3 SubDir

 

table de composants (partielle)

Composant Répertoire_ Attributs KeyPath
Component1 Dir1 0 Fichier1
Composant2 Dir2 4
Component3 Dir3 4 Reg3
Component4 Dir4 4 Reg4
Composant5 Dir5 4 Reg5

 

table de Registre (partielle)

Registre Racine Valeur Composant_
Reg3 2 Component3
Reg5 0 Component4

 

de référence ICE