ICE12
ICE12 interroge les tables CustomAction, Directory, AdminExecuteSequence, AdminUISequence, AdvtExecuteSequence, InstallExecuteSequence et InstallUISequence pour valider :
- Que l’action CostFinalize se produit dans n’importe quelle table de séquences contenant des actions du type Type d’action personnalisée 35 ou Type d’action personnalisée 51.
- Que chaque Type d’action personnalisée 35 vient après l’action CostFinalize. dans les tables de séquence.
- Que chaque Type d’action personnalisée 51 qui a une clé étrangère pour la table Directory dans la colonne Source de la table CustomAction précède l’action CostFinalize dans les tables de séquence.
Notez qu’ICE12 ne valide pas le texte mis en forme dans la colonne Target de la table CustomAction.
ICE12 publie un message d’erreur si la validation des actions personnalisées qui définissent une propriété de répertoire échoue.
ICE12 publierait trois erreurs pour l’exemple présenté.
- Pour CA1, le dossier « MyFolder » est introuvable dans la table Directory
- Pour CA2, la séquence « 80 » précède CostFinalize dans la table InstallExecuteSequence. Elle doit venir après (CF@100)
- Pour CA3, la séquence « 125 » se trouve après CostFinalize dans la table InstallExecuteSequence. Elle doit venir avant (CF@100)
Table CustomAction (partielle)
Action | Type | Source |
---|---|---|
AC1 | 35 | MyFolder |
CA2 | 35 | WindowsFolder |
CA3 | 51 | WindowsFolder |
Répertoire | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
WindowsFolder | TARGETDIR | WindowsFolder |
Table InstallExecuteSequence (partielle)
Action | Séquence |
---|---|
CostFinalize | 100 |
CA2 | 80 |
CA3 | 125 |
Pour corriger l’erreur pour CA1, remplacez son entrée dans sa colonne Source de la table CustomAction par une entrée existante dans la table Directory ou ajoutez MyFolder à la table Directory.
Pour corriger l’erreur pour CA2, modifiez sa séquence dans la table InstallExecuteSequence de sorte qu’elle se trouve après l’action CostFinalize.
Pour corriger l’erreur pour CA3, modifiez sa séquence dans la table InstallExecuteSequence de sorte qu’elle soit antérieure à l’action CostFinalize.