Ajout des assemblies à un package
Les développeurs Windows Installer peuvent utiliser les instructions de cette rubrique pour créer des packages Windows Installer qui contiennent des assemblies.
Les instructions suivantes s’appliquent aux assemblies Win32 et aux assemblies que le Common Language Runtime de Microsoft .NET Framework utilise.
- Un composant Windows Installer ne doit pas contenir plus d’un assembly.
- Tous les fichiers de l’assembly doivent se trouver dans un seul composant.
- Chaque composant qui contient un assembly doit avoir une entrée dans la table MsiAssembly.
- Le nom fort du cache d’assembly de chaque assembly doit être créé dans la table MsiAssemblyName.
- Utilisez la table Registry au lieu de la table Class lorsque vous inscrivez COM Interop pour un assembly.
- Les assemblies qui ont le même nom fort font partir du même assembly. Lorsque le même assembly est installé par différentes applications, les composants qui contiennent l’assembly doivent utiliser la même valeur pour ComponentId dans leurs tables Component.
Notes
Les publications de produits identifient les assemblies qui peuvent être installés et utilisés par différentes applications. Les publications de produits n’identifient pas les assemblies privés.
Ajout des assemblies Win32
Suivez les instructions suivantes lorsque vous incluez des assemblies Win32 :
- La valeur KeyPath dans la table Component d’un composant qui contient un assembly Win32 ne doit pas être Null.
- La valeur KeyPath dans la table Component pour un composant qui contient un assembly de stratégie Win32 doit être le fichier manifeste.
- La valeur KeyPath dans la table Component pour un composant qui contient un assembly Win32, qui n’est pas un assembly de stratégie, ne doit pas être le fichier manifeste ou le fichier catalogue. Il doit s’agir d’un fichier différent dans l’assembly.
- Ajoutez une ligne à la table MsiAssemblyName pour chaque paire nom-valeur répertoriée dans la section assemblyIdentity du manifeste de l’assembly Win32.
Ajout d’assemblies utilisés avec .NET Framework
Suivez les instructions suivantes lorsque vous incluez des assemblies utilisés par le Common Language Runtime de .NET Framework.
- La valeur KeyPath dans la table Component pour un composant qui contient un assembly ne doit pas être Null.
- Lorsque vous installez un assembly utilisé par le Common Language Runtime dans le cache d’assembly global, la valeur dans la colonne File_Application de la table MsiAssembly doit être Null.
- Ajoutez une ligne à la table MsiAssemblyName pour chaque attribut du nom fort de l’assembly. Tous les assemblies doivent avoir les attributs Name, Version et Culture spécifiés dans la table MsiAssemblyName. Un attribut publicKeyToken est requis pour un assembly global. La table suivante est un exemple de table MsiAssemblyName pour un assembly global à utiliser par le Common Language Runtime.
Composant | Nom | Valeur |
---|---|---|
ComponentA | Nom | simple |
ComponentA | version | 1.0.0.0 |
ComponentA | Culture | neutre |
ComponentA | publicKeyToken | 9d1ec8380f483f5a |