installation d’assemblys Win32 pour l’utilisation privée d’une Application sur Windows XP
la procédure de cette rubrique indique comment créer un package Windows Installer pour installer un assembly Win32. Le package installe l’assembly et un fichier manifeste d’application dans un dossier créé que l’application utilise. Le manifeste d’application spécifie la dépendance de l’application sur l’assembly privé. Une fois le package installé, l’assembly privé est disponible pour l’utilisation exclusive de l’application. La dépendance d’assembly spécifiée dans le manifeste de l’application remplace (pour cette application) toutes les autres dépendances d’assembly globales spécifiées dans les fichiers manifeste de l’assembly.
avant de continuer, il est judicieux de comprendre comment créer un package Windows Installer sans assemblys. Pour plus d’informations, consultez un exemple d’installation.
pour installer un assembly privé sur Windows XP
- définissez un composant Windows Installer qui comprend l’assembly Win32 et le fichier manifeste de l’application. Ce composant peut contenir d’autres ressources qui doivent toujours être installées ou supprimées avec l’assembly. Les étapes restantes de cette procédure décrivent comment créer la base de données d’installation pour installer ce composant.
- Ajoutez une ligne à la table des composants pour le composant qui contient l’assembly Win32 et le fichier manifeste de l’application. entrez un GUID de Windows Installer valide pour ce code de composant. Pour plus d’informations, consultez modification du code du composant et que se passe-t-il si les règles des composants sont rompues ?
- Le programme d’installation copie le fichier manifeste de l’assembly dans le dossier qui contient le fichier spécifié dans le _ champ application de fichier de la table MsiAssembly.
- ajoutez une ligne à la table FeatureComponents en liant le composant à une fonctionnalité de Windows Installer. Pour plus d’informations, consultez composants et fonctionnalités. une fonctionnalité de Windows Installer doit être une partie des fonctionnalités d’application qu’un utilisateur peut reconnaître. L’assembly est activé lorsque cette fonctionnalité est sélectionnée par un utilisateur ou a généré une erreur par une application. Si l’assembly définit une fonctionnalité supplémentaire, ajoutez une ligne supplémentaire à la table des fonctionnalités pour les attributs de fonctionnalité. Cette étape n’est pas requise en cas de création d’un module de fusion.
- Pour les assemblys côte à côte, les informations de liaison et d’activation, par exemple, les classes COM, les interfaces et les bibliothèques de types, sont stockées dans des fichiers manifeste plutôt que dans le registre. Les assemblys privés stockent ces informations dans un manifeste d’assembly. Sur les systèmes qui prennent en charge les assemblys côte à côte, le programme d’installation ignore le traitement des informations relatives au composant qui est entré dans la table d’extension, la table de verbes, la table Typelib, la table MIME, la table de classes, la table ProgIDet la table AppID. Les informations de liaison et d’activation peuvent être entrées dans les tables pour être utilisées par les systèmes qui ne prennent pas en charge le partage d’assembly côte à côte.
- L’installation côte à côte n’inscrit pas l’assembly globalement. Le programme d’installation ignore l’inscription automatique du composant si des informations d’auto-inscription sont entrées dans la table Selfreg. Les informations d’auto-inscription peuvent être entrées dans la table SelfReg pour l’inscription automatique du composant sur les systèmes qui ne prennent pas en charge le partage d’assembly côte à côte.
- Ajoutez toutes les autres informations du Registre, en excluant la liaison et l’activation ou l’inscription automatique du composant, à la table du Registre, à la table RemoveRegistryet à la table d’environnement.
- Le programme d’installation ignore la table IsolatedComponent pour ce composant sur les systèmes d’exploitation qui prennent en charge le partage côte à côte. Entrez les informations dans cette table si vous souhaitez que l’assembly soit privé sur les systèmes qui prennent en charge des fichiers locaux.
- Ajoutez une ligne à la table MsiAssembly pour le composant qui contient l’assembly Win32. Entrez la valeur 1 dans le champ attributs de la table MsiAssembly pour spécifier qu’il s’agit d’un assembly Win32. Entrez la clé de fichier de l’assembly privé dans le _ champ application de fichier de la table MsiAssembly. Ajoutez l' action MsiPublishAssemblies à la table InstallExecuteSequence ou à la table AdvtExecuteSequence. Ajoutez l' action MsiUnpublishAssemblies à la table InstallExecuteSequence. Créez un dossier pour l’assembly et le fichier manifeste dans la table de répertoires. Ce dossier doit se trouver dans le répertoire racine de l’application et contenir le fichier spécifié dans le _ champ application de fichier de la table MsiAssembly. Pendant l’installation de l’application, le programme d’installation résout la table de répertoire pour le chemin d’accès à ce dossier. Pour plus d’informations, consultez utilisation de la table des répertoires.
- Ajoutez des lignes à la table MsiAssemblyName pour le composant. Ajoutez une ligne pour chaque paire nom/valeur spécifiée dans la section assemblyIdentity du manifeste. Pour plus d’informations, consultez la table MsiAssemblyName.