Partager via


Composants isolés

Les auteurs de packages d’installation peuvent spécifier que le programme d’installation copie les fichiers partagés (DLL couramment partagées) d’une application dans le dossier de cette application plutôt que vers un emplacement partagé. Cet ensemble privé de fichiers (DLL) est ensuite utilisé uniquement par l’application. L’isolation de l’application avec ses composants partagés présente les avantages suivants :

  • L’application utilise toujours les versions des fichiers partagés avec lesquels elle a été déployée.
  • L’installation de l’application ne remplace pas d’autres versions des fichiers partagés par d’autres applications.
  • Les installations suivantes d’autres applications utilisant différentes versions des fichiers partagés ne peuvent pas remplacer les fichiers utilisés par cette application.

Étant donné que l’implémentation actuelle de COM conserve un chemin complet unique dans le Registre pour chaque paire CLSID/Context, toutes les applications doivent utiliser la même version d’une DLL partagée. Pour permettre à une application de conserver une copie privée d’un serveur COM, le chargeur système dans Windows 2000 vérifie la présence d’un serveur . Fichier LOCAL dans le dossier de l’application. Si le chargeur système détecte un . Le fichier LOCAL modifie sa logique de recherche pour préférer les DLL situées dans le même dossier que l’application.

Lorsque Windows Installer exécute l’action IsolateComponents ils copient les fichiers du composant (généralement une DLL partagée) spécifiée dans la colonne Component_Shared de la table IsolatedComponent dans le même dossier que le composant (généralement un fichier .exe) spécifié dans la colonne Component_Application. Le programme d’installation crée un fichier dans ce répertoire, zéro octets de longueur, ayant le nom de fichier court du fichier de clé pour Component_Application (généralement le nom est le même que le .exede l’application ) ajouté avec . LOCAL. Le programme d’installation utilise l’inscription du composant dans son emplacement partagé et n’écrit aucune information d’inscription pour la copie du composant dans l’emplacement privé.

Pour plus d’informations, consultez :