Table Registre

La table Registry contient les informations de Registre que l’application doit définir dans le registre système.

La table de boîtes de dialogue contient les colonnes suivantes.

Colonne Type Clé Nullable
Registre Identificateur O N
Root Integer N N
Clé RegPath N N
Nom Formatted N O
Valeur Formatted N O
Component_ Identificateur N N

 

Colonnes

Registre

Clé primaire utilisée pour identifier un enregistrement de Registre.

Rroot

Clé racine prédéfinie pour la valeur de Registre. Entrez la valeur -1 dans ce champ pour que la clé racine dépende du type d’installation. Entrez l’une des autres valeurs du tableau suivant pour forcer l’écriture de la valeur de Registre sous une clé racine particulière.

Constante Valeur hexadécimale Decimal Clé racine
(aucun) - 0x001 -1 S’il s’agit d’une installation par utilisateur, la valeur de Registre est écrite sous HKEY_CURRENT_USER. S’il s’agit d’une installation par utilisateur, la valeur de Registre est écrite sous HKEY_CURRENT_USER. Notez qu’une installation par ordinateur est spécifiée en définissant la propriété ALLUSERS sur 1.
msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOT Le programme d’installation écrit ou supprime la valeur de la ruche HKCU\Software\Classes pendant l’installation dans le contexte d’installation par utilisateur.
Le programme d’installation écrit ou supprime la valeur de la ruche HKLM\Software\Classes pendant les installations par ordinateur.
msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER
msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE
msidbRegistryRootUsers 0x003 3 HKEY_USERS

 

Notez qu’il est recommandé que les entrées de Registre écrites dans la ruche HKCU référencent un composant dont le bit RegistryKeyPath est défini dans la colonne Attributs de la table Component. Cela garantit que le programme d’installation écrit les entrées de Registre nécessaires lorsqu’il y a plusieurs utilisateurs sur le même ordinateur.

Clé

Clé localisable pour la valeur de Registre.

Name

Cette colonne contient le nom de la valeur de Registre (localisable). Si cette valeur est Null, les données entrées dans la colonne Valeur sont écrites dans la clé de Registre par défaut.

Si la colonne Valeur a la valeur Null, les chaînes indiquées dans le tableau suivant de la colonne Nom ont une signification particulière.

String Signification
+ La clé doit être créée, si elle est absente, lors de l’installation du composant.
- La clé doit être supprimée, le cas échéant, avec toutes ses valeurs et sous-clés, lorsque le composant est désinstallé.
* La clé doit être créée, si elle est absente, lors de l’installation du composant. En outre, la clé doit être supprimée, le cas échéant, avec toutes ses valeurs et sous-clés, lorsque le composant est désinstallé.

 

Notez que la table RemoveRegistry doit être utilisée si une clé de Registre installée doit être supprimée, avec ses valeurs et sous-clés, lors de l’installation du composant.

Valeur

Cette colonne est la valeur de Registre localisable. Le champ est mis en forme. Si la valeur est attachée à l’un des préfixes suivants (c’est-à-dire #%value), la valeur est interprétée comme décrit dans le tableau. Notez que chaque préfixe commence par un signe numérique (#). Si la valeur commence par au moins deux signes numériques consécutifs (#), le premier # est ignoré et la valeur est interprétée et stockée sous la forme d’une chaîne.

Préfixe Signification
#x La valeur est interprétée et stockée comme une valeur hexadécimale (REG_BINARY).
#% La valeur est interprétée et stockée sous la forme d’une chaîne extensible (REG_EXPAND_SZ).
# La valeur est interprétée et stockée sous la forme d’un entier (REG_DWORD).

 

  • Si la valeur contient le tilde de séquence [~], la valeur est interprétée comme une liste de chaînes délimitées par null (REG_MULTI_SZ). Par exemple, pour spécifier une liste contenant les trois chaînes a, b et c, utilisez « a[~]b[~]c ».
  • La séquence [~] dans la valeur sépare les chaînes individuelles et est interprétée et stockée en tant que caractère Null.
  • Si un [~] précède la liste de chaînes, les chaînes doivent être ajoutées à toutes les chaînes de valeur de Registre existantes. Si une chaîne d’ajout se produit déjà dans la valeur de Registre, l’occurrence d’origine de la chaîne est supprimée.
  • Si un [~] suit la fin de la liste de chaînes, les chaînes doivent être ajoutées à toutes les chaînes de valeur de Registre existantes. Si une chaîne imminente se produit déjà dans la valeur de Registre, l’occurrence d’origine de la chaîne est supprimée.
  • Si un [~] est à la fois au début et à la fin ou au début ni à la fin de la liste de chaînes, les chaînes doivent remplacer toutes les chaînes de valeur de Registre existantes.
  • Sinon, la valeur est interprétée et stockée comme une chaîne (REG_SZ).

Composant_

Clé externe dans la première colonne de la table Component référençant le composant qui contrôle l’installation de la valeur de Registre.

Notes

Les actions WriteRegistryValues et RemoveRegistryValues dans lestables de séquence traitent les informations de cette table. Pour plus d’informations sur l’utilisation des tables de séquence, consultez Utilisation d’une table de séquences.

Les informations du Registre sont écrites dans le registre système lorsque le composant correspondant a été sélectionné pour être installé localement ou exécuté à partir de la source.

Notez que le programme d’installation supprime une clé de Registre après avoir supprimé la dernière valeur ou sous-clé sous la clé. Pour empêcher la suppression d’une clé de Registre vide lors de la désinstallation, écrivez une valeur factice sous la clé que vous devez conserver et entrez + dans la colonne Nom. Si * se trouve dans la colonne Nom, la clé est supprimée, avec toutes ses valeurs et sous-clés, lorsque le composant est supprimé.

Une action personnalisée peut être utilisée pour ajouter des lignes à la table du Registre lors d’une transaction d’installation, de désinstallation ou de réparation. Ces lignes ne sont pas conservées dans la table du Registre et les informations sont uniquement disponibles pendant la transaction en cours. L’action personnalisée doit donc être exécutée dans chaque transaction d’installation, de désinstallation ou de réparation qui nécessite les informations contenues dans ces lignes supplémentaires. L’action personnalisée doit être antérieure aux actions RemoveRegistryValues et WriteRegistryValues dans la séquence d’actions.

Pour plus d’informations sur la sécurisation d’une clé de Registre, consultez MsiLockPermissionsEx Table et LockPermissions Table.

Validation

ICE02
ICE03
ICE06
ICE32
ICE38
ICE43
ICE46
ICE49
ICE53
ICE55
ICE57
ICE70
ICE80