Agregar ensamblados a un paquete

Los desarrolladores de Windows Installer pueden usar las directrices de este tema para crear paquetes de Windows Installer que contengan ensamblados.

Las siguientes instrucciones se aplican a los ensamblados Win32 y a los ensamblados que Common Language Runtime de Microsoft .NET Framework utiliza.

  • Un componente de Windows Installer no debe contener más de un ensamblado.
  • Todos los archivos del ensamblado deben estar en un solo componente.
  • Cada componente que contiene un ensamblado debe tener una entrada en la tabla MsiAssembly.
  • El nombre de caché de ensamblado seguro de cada ensamblado se debe crear en la tabla MsiAssemblyName.
  • Utilice la tabla Registry en lugar de la tabla Class al registrar la interoperabilidad COM para un ensamblado.
  • Los ensamblados que tienen el mismo nombre seguro son el mismo ensamblado. Cuando diferentes aplicaciones instalan el mismo ensamblado, los componentes que contienen el ensamblado deben usar el mismo valor para ComponentId en sus tablas Component.

Nota:

Los anuncios de productos identifican ensamblados que se pueden instalar y usar en diferentes aplicaciones. Los anuncios de productos no identifican ensamblados privados.

 

Incorporación de ensamblados Win32

Use las instrucciones siguientes al incluir ensamblados Win32:

  • El valor KeyPath de la tabla Component de un componente que contiene un ensamblado Win32 no debe ser Null.
  • El valor KeyPath de la tabla Component de un componente que contiene un ensamblado de directiva Win32 debe ser el archivo de manifiesto.
  • El valor KeyPath de la tabla Component de un componente que contiene un ensamblado Win32, que no es un ensamblado de directiva, no debe ser el archivo de manifiesto ni el archivo de catálogo. Debe ser un archivo diferente en el ensamblado.
  • Agregue una fila a la tabla MsiAssemblyName para cada par de nombre y valor que aparezca en la sección assemblyIdentity del manifiesto del ensamblado Win32.

Incorporación de ensamblados usados con .NET Framework

Use las instrucciones siguientes al incluir ensamblados que Common Language Runtime de .NET Framework utiliza.

  • El valor KeyPath de la tabla Component de un componente que contiene el ensamblado no debe ser Null.
  • Al instalar un ensamblado usado por Common Language Runtime en la memoria caché global de ensamblados, el valor de la columna File_Application de la tabla MsiAssembly debe ser Null.
  • Agregue una fila a la tabla MsiAssemblyName para cada atributo del nombre seguro del ensamblado. Todos los ensamblados deben tener los atributos Name, Version y Culture especificados en la tabla MsiAssemblyName. Se requiere un atributo publicKeyToken para un ensamblado global. En la tabla siguiente se muestra un ejemplo de la tabla MsiAssemblyName de un ensamblado global para que lo utilice Common Language Runtime.

Tabla MsiAssemblyName

Componente Nombre Value
ComponentA Nombre simple
ComponentA version 1.0.0.0
ComponentA Referencia cultural neutral
ComponentA publicKeyToken 9d1ec8380f483f5a