Rendre privé un composant non COM dans un package existant

Un administrateur peut forcer une application cliente à toujours utiliser la même copie d’un serveur non 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. Cette opération installe une copie privée du composant serveur à 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 :

  • Placez la DLL du serveur et le client .exe dans des composants distincts.
  • Entrez un enregistrement dans la table IsolatedComponent avec le composant client 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.