Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La table SelfReg contient des informations sur les modules qui doivent être autoinscrits. Le programme d’installation appelle la fonctiondllRegisterServerlors de l’installation du module ; il appelle DllUnregisterServer lors de la désinstallation du module. Le programme d’installation n’inscrit pas automatiquement les fichiers EXE.
La table SelfReg comporte les colonnes suivantes.
| Colonne | Type | Clé | Nullable |
|---|---|---|---|
| Lime_ | identificateur | Y | N |
| Coût | entier | N | Y |
Colonnes
-
File_
-
Clé externe dans la première colonne de la table fichier indiquant le module à inscrire.
-
coût
-
Coût de l’inscription du module en octets. Il doit s’agir d’un nombre non négatif.
Remarques
Les auteurs de packages d’installation sont fortement conseillés d’utiliser l’inscription automatique. Au lieu de cela, ils doivent inscrire des modules en créant une ou plusieurs tables fournies par le programme d’installation à cet effet. Pour plus d’informations, consultez groupe de tables de Registre. Bon nombre des avantages liés à l’inscription automatique d’un service d’installation central sont perdus, car les routines d’inscription automatique ont tendance à masquer les informations de configuration critiques. Les raisons d’éviter l’inscription automatique sont les suivantes :
- La restauration d’une installation avec des modules auto-inscrits ne peut pas être effectuée en toute sécurité à l’aide de DllUnregisterServer, car il n’existe aucun moyen de dire si les clés auto-inscrites sont utilisées par une autre fonctionnalité ou une autre application.
- La possibilité d’utiliser la publicité est réduite si l’inscription de classe ou de serveur d’extension est effectuée dans les routines d’autoinscription.
- Le programme d’installation gère automatiquement les clés HKCR dans les tables de Registre pour les installations par utilisateur ou par ordinateur. dllRegisterServer routines ne prennent actuellement pas en charge la notion de clé HKCR par utilisateur.
- Si plusieurs utilisateurs utilisent une application auto-inscrite sur le même ordinateur, chaque utilisateur doit installer l’application la première fois qu’il l’exécute. Sinon, le programme d’installation ne peut pas facilement déterminer que les clés de Registre HKCU appropriées existent.
- Les DllRegisterServer peuvent être refusées pour accéder aux ressources réseau telles que les bibliothèques de types si un composant est spécifié en tant que run-from-source et est répertorié dans la table SelfReg. Cela peut entraîner l’échec de l’installation du composant pendant une installation administrative.
- L’inscription automatique des DLL est plus susceptible d’erreurs de codage, car le nouveau code requis pour DllRegisterServer est généralement différent pour chaque DLL. Utilisez plutôt les tables de Registre dans la base de données pour tirer parti du code existant fourni par le programme d’installation.
- L’inscription automatique des DLL peut parfois lier des DLL auxiliaires qui ne sont pas présentes ou qui sont incorrectes. En revanche, le programme d’installation peut inscrire les DLL à l’aide des tables de Registre sans dépendance sur l’état actuel du système.
Note
Vous ne pouvez pas spécifier l’ordre dans lequel le programme d’installation inscrit ou annule l’inscription des DLL autoinscription à l’aide des actions SelfRegModules et SelfUnRegModules. Consultez Spécification de l’ordre d’inscription automatique.
Validation