Rendre privé un composant COM dans un package existant

Un administrateur peut forcer une application cliente COM à toujours utiliser la même copie d’un serveur COM dans un package existant, sans affecter d’autres applications, en spécifiant une relation de composants isolés entre le serveur et le client COM. Cette opération installe une copie privée du composant serveur COM à un emplacement utilisé exclusivement par l’application cliente. L’administrateur doit utiliser des transformations ou un outil de création de package pour effectuer les opérations suivantes :

  • Placer la DLL du serveur COM et le client .exe dans des composants distincts.
  • Entrer un enregistrement dans la table IsolatedComponent avec le composant client COM dans la colonne Component_Shared et l’application cliente dans la colonne Component_Application. Incluez l’action IsolateComponents dans les tables de séquences.
  • Définissez le bit msidbComponentAttributesSharedDllRefCount dans l’enregistrement de table Component pour Component_Shared. Le programme d’installation nécessite ce compte de référence global sur l’emplacement partagé pour protéger les fichiers partagés et l’inscription dans les cas de partage avec d’autres technologies d’installation.