Référence ICE

Un ICE est utilisé pour valider les packages d’installation. Le tableau de cette rubrique identifie chaque ICE. Pour plus d’informations sur les modules ICEM utilisés pour valider les modules de fusion, consultez Informations de référence sur l’ICE de module de fusion.

ICE Description
ICE01 Test simple du mécanisme ICE.
ICE02 Test de référence circulaire pour les chemins de clé Fichier-Composant, Registre-Composant.
ICE03 Données de base et validation de clé étrangère.
ICE04 Valide les numéros de séquence de fichiers par rapport aux numéros LastSequence de la table Media.
ICE05 Valide les entrées « obligatoires » dans des tables particulières.
ICE06 Valide la ou les tables manquantes dans la base de données. Toute colonne définie dans la table _Validation doit se trouver dans la base de données.
ICE07 Vérifie que les polices sont installées dans FontsFolder.
ICE08 Recherche les GUID en double dans la colonne ComponentId de la table Component.
ICE09 Vérifie que le bit permanent est défini pour chaque composant marqué pour l’installation dans SystemFolder.
ICE10 Garantit que les états des fonctionnalités de publication entre les enfants et les parents sont compatibles.
ICE12 Valide les types d’action personnalisée 35 et 51 et leurs emplacements dans les tables de séquence.
ICE13 Vérifie que les boîtes de dialogue ne sont pas répertoriées en tant qu’actions dans les tables de séquences d’exécution. Les actions de boîte de dialogue sont autorisées uniquement dans les tables de séquences d’interface utilisateur.
ICE14 Vérifie que les parents de fonctionnalités n’ont pas le bit msidbFeatureAttributesFollowParent défini. Vérifie également que les entrées dans les colonnes Feature et Feature_Parent ne sont pas les mêmes dans le même enregistrement.
ICE15 Vérifie qu’il existe une référence circulaire entre chaque entrée de la table MIME et l’extension correspondante dans la table Extension.
ICE16 Vérifie que la longueur du ProductName dans la table Property ne dépasse pas 63 caractères.
ICE17 Valide les dépendances de type de contrôle dans la table Control. Couvre PushButtons, RadioButtonGroups, ListBoxes, ListViews et ComboBoxes.
ICE18 Valide la colonne KeyPath de la table Component lorsqu’elle est Null. Dans ce cas, le chemin de la clé est un répertoire.
ICE19 Valide les tables de publication : Class, TypeLib, Extension, PublishComponents et Shortcut.
ICE20 Vérifie que les boîtes de dialogue requises se trouvent dans la table Dialog.
ICE21 Vérifie que tous les composants de la table Component sont mappés à une fonctionnalité de la table FeatureComponents.
ICE22 Vérifie les colonnes Feature_ et Component_ dans la table PublishComponent.
ICE23 Valide l’ordre de tabulation des contrôles dans toutes les boîtes de dialogue.
ICE24 Valide certaines propriétés dans la table Property.
ICE25 Vérifie les dépendances de module de fusion et les exclusions de module de fusion.
ICE26 Valide les actions requises et interdites dans les tables de séquences.
ICE27 Valide l’organisation et l’ordre des tables de séquence.
ICE28 Valide les actions qui ne doivent pas être séparées par ForceReboot.
ICE29 Vérifie que les noms de vos flux restent uniques s’ils sont tronqués à la limite de 62 caractères.
ICE30 Vérifie que l’installation des composants contenant le même fichier n’installe jamais le fichier plus d’une fois dans le même répertoire.
ICE31 Valide les styles de texte répertoriés dans la colonne Text de la table Control.
ICE32 Compare les définitions de colonne pour vérifier que les clés et les clés étrangères ont la même taille et le même type.
ICE33 Recherche dans la table du Registre les entrées qui appartiennent à d’autres tables.
ICE34 Vérifie que chaque groupe de cases d’option a une valeur par défaut.
ICE35 Vérifie que les fichiers d’un fichier Cabinet ne peuvent pas être définis pour s’exécuter à partir de la source.
ICE36 Vérifie que les icônes répertoriées dans la table Icon sont utilisées dans les tables Class, ProgID ou Shortcut.
ICE38 Vérifie que les composants installés sous le profil de l’utilisateur utilisent une clé de Registre sous HKCU comme chemin de clé.
ICE39 Valide le flux d’informations récapitulatives de la base de données.
ICE40 Effectue diverses vérifications.
ICE41 Vérifie que les entrées des tables Extension et Class font référence à des composants appartenant à la fonctionnalité référencée.
ICE42 Vérifie que les entrées de la table Class n’ont pas de fichiers .exe définis comme valeurs InProc, et que seuls les contextes LocalServer ont des arguments et des valeurs DefInProc.
ICE43 Vérifie que les raccourcis non publiés se trouvent dans les composants avec des clés de Registre HKCU comme chemins de clé.
ICE44 Vérifie que les événements de boîte de dialogue dans la table ControlEvent (NewDialog, SpawnDialog, SpawnWaitDialog) référencent des boîtes de dialogue valides dans la table Dialog.
ICE45 Recherche les bits réservés qui sont définis.
ICE46 Recherche les propriétés personnalisées qui diffèrent uniquement des propriétés définies par leur casse.
ICE47 Recherche les fonctionnalités avec plus de 1600 composants par fonctionnalité.
ICE48 Recherche les répertoires codés en dur sur les chemins d’accès locaux.
ICE49 Recherche les valeurs par défaut non REG_SZ dans la table du Registre.
ICE50 Vérifie que les raccourcis publiés ont des icônes et des menus contextuels corrects.
ICE51 Vérifie que les polices TTC/TTF n’ont pas de titre, mais que toutes les autres polices en ont un.
ICE52 Recherche les propriétés non publiques dans la table AppSearch.
ICE53 Recherche les entrées de Registre qui écrivent des informations d’installation privées ou des valeurs de stratégie.
ICE54 Recherche les composants qui utilisent des fichiers complémentaires comme fichier de chemin de clé.
ICE55 Vérifie que les objets LockPermission existent et disposent d’autorisations valides.
ICE56 Valide que la structure de répertoires du fichier .msi a une racine valide unique.
ICE57 Valide que les composants individuels ne mélangent pas les données par ordinateur et par utilisateur.
ICE58 Vérifie que votre table Media n’a pas plus de 80 lignes.
ICE59 Vérifie que les raccourcis publiés appartiennent aux composants installés par la fonctionnalité cible du raccourci.
ICE60 Vérifie que si un fichier de la table File n’est pas une police et a une version, il a également une langue.
ICE61 Vérifie la table Upgrade.
ICE62 Effectue des vérifications approfondies sur la table IsolatedComponent pour les données susceptibles de provoquer un comportement inattendu.
ICE63 Vérifie le séquencement approprié de l’action RemoveExistingProducts.
ICE64 Vérifie que les nouveaux répertoires du profil utilisateur sont supprimés dans les scénarios d’itinérance.
ICE65 Vérifie que la table Environment n’a pas de valeurs de préfixe ou d’ajout non valides.
ICE66 Utilise les tables de la base de données pour déterminer le schéma que votre base de données doit utiliser.
ICE67 Vérifie que la cible d’un raccourci non publié appartient au même composant que le raccourci lui-même ou que les attributs du composant cible garantissent qu’il ne change pas les emplacements d’installation.
ICE68 Vérifie que tous les types d’actions personnalisées nécessaires à une installation sont valides.
ICE69 Vérifie que toutes les sous-chaînes de la forme [$clécomposant] dans une chaîne mise en forme n’ont pas de références croisées à des composants.
ICE70 Vérifie que les valeurs entières des entrées de Registre sont spécifiées correctement.
ICE71 Vérifie que la table Media contient une entrée avec un DiskId égal à 1.
ICE72 Garantit que les seules actions personnalisées utilisées dans la table AdvtExecuteSequence sont des actions personnalisées de type 19, 35 et 51.
ICE73 Vérifie que votre package ne réutilise pas les codes de package ou les codes de produit des exemples du SDK Windows Installer. Pour plus d’informations, consultez Codes de package et Codes de produit.
ICE74 Vérifie que la propriété FASTOEM n’a pas été créée dans la table Property.
ICE75 Vérifie que tous les types d’action personnalisée qui utilisent un fichier installé comme source sont séquencés après l’action CostFinalize.
ICE76 Vérifie qu’aucun fichier dans les catalogues SFP (WFP) ne référence la table BindImage.
ICE77 Vérifie que les actions personnalisées dans le script sont séquencées après l’action InstallInitialize et avant l’action InstallFinalize.
ICE78 Vérifie que la table AdvtUISequence n’existe pas ou est vide.
ICE79 Valide les références aux composants et fonctionnalités entrés dans les champs de base de données à l’aide du type de données Condition.
ICE80 Vérifie que les propriétés Template Summary et Page Count Summary spécifient correctement la présence de composants 64 bits ou de scripts d’action personnalisés.
ICE81 Valide les tables MsiDigitalCertificate, MsiDigitalSignature et MsiPackageCertificate.
ICE82 Valide la table InstallExecuteSequence.
ICE83 Valide la table MsiAssembly.
ICE84 Vérifie les tables de séquences pour vérifier que les actions standard requises ne sont pas définies avec des conditions.
ICE85 Valide que la colonne SourceName de la table MoveFile est un nom de fichier long valide.
ICE86 Émet un avertissement si le package utilise la propriété AdminUser dans la colonne de base de données du type Condition.
ICE87 Vérifie que les propriétés suivantes n’ont pas été créées dans la table Property.
ICE88 Valide la colonne DirProperty de la table IniFile.
ICE89 Vérifie que la valeur de la colonne Progid_Parent dans la table ProgId est une clé étrangère valide dans la colonne ProgId de la table ProgId.
ICE90 Publie un avertissement s’il constate que le répertoire d’un raccourci a été spécifié en tant que propriété publique.
ICE91 Publie un avertissement si un fichier, un fichier .ini ou un fichier de raccourci est installé dans un répertoire de profil par utilisateur qui ne varie pas en fonction de la propriété ALLUSERS.
ICE92 Vérifie qu’un composant sans GUID d’ID de composant n’est pas également spécifié en tant que composant permanent. Vérifie qu’aucun composant ne possède les attributs msidbComponentAttributesPermanent et msidbComponentAttributesUninstallOnSupersedence.
ICE93 Émet un avertissement si une action personnalisée utilise le même nom qu’une action standard.
ICE94 Émet un avertissement s’il existe des raccourcis non inversés pointant vers un fichier d’assembly dans le Global Assembly Cache.
ICE95 Vérifie la table Control et la table BBControl pour vérifier que les contrôles d’affichage s’ajustent à tous les panneaux d’affichage.
ICE96 Vérifie que les actions PublishFeatures et PublishProduct sont entrées dans la table AdvtExecuteSequence.
ICE97 Vérifie que deux composants n’isolent pas un composant partagé dans le même répertoire.
ICE98 Vérifie le champ de description de la table ODBCDataSource pour une source de données ODBC.
ICE99 Vérifie qu’aucun nom de propriété entré dans la table Directory ne duplique un nom réservé à l’utilisation publique ou privée de Windows Installer.
ICE100 Vérifie la création des tables MsiEmbeddedUI et MsiEmbeddedChainer.
ICE101 Vérifie qu’aucune valeur de la colonne Feature de la table Feature ne dépasse une longueur maximale de 38 caractères.
ICE102 Valide les tables MsiServiceConfig et MsiServiceConfigFailureActions.
ICE103 Valide les événements de contrôle MsiPrint et MsiLaunchApp.
ICE104 Vérifie les tables MsiLockPermissionsEx et LockPermissions.
ICE105 Valide que le package a été créé pour être installé dans un contexte par utilisateur.