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.
ICE02 publie un message d’erreur s’il trouve une référence qui doit être réciproque et qui ne l’est pas.
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.