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.

Table MsiAssemblyName

Composant Nom Valeur
ComponentA Nom simple
ComponentA version 1.0.0.0
ComponentA Culture neutre
ComponentA publicKeyToken 9d1ec8380f483f5a