Partager via


ICE02

ICE02 vérifie que certaines références entre les tables Component, File et Registrysont réciproques. Ces références doivent être réciproques pour que le programme d’installation détermine correctement l’état d’installation des composants.

Le programme d’installation utilise la colonne KeyPath de la table Component pour détecter la présence du composant répertorié dans la colonne Composant. La colonne KeyPath contient une clé dans les tables Registre ou Fichier. Ces deux tables ont une colonne Component_ qui contient une clé de retour dans la table Composant pointant vers le composant qui contrôle l’entrée ou le fichier du Registre. Ces références doivent être réciproques.

Résultats

ICE02 publie un message d’erreur s’il trouve une référence qui doit être réciproque et qui ne l’est pas.

Exemple

ICE02 publie le message d’erreur suivant pour un fichier .msi contenant les entrées de base de données affichées.

File: 'Red_File' cannot be the key file for Component: 'Blue'. The file belongs to Component: 'Red'

Table Composant (partielle)

Composant KeyPath
Rouge Red_File
Bleu Red_File

 

Table File (partielle)

Colonne de fichier Composant_
Red_File Rouge
Blue_File Bleu

 

Le bleu du composant fait référence Red_File, mais Red_File n’est pas contrôlé par le composant Bleu et ne peut donc pas être le fichier KeyPath. Si le programme d’installation était appelé pour obtenir l’état d’installation de Blue, il vérifierait incorrectement si Red_File a été installé. La modification du champ KeyPath pour Blue dans la table de composants pour Blue_File corrige l’erreur.

Référence ICE