Instalación de ensamblados Win32 para el uso privado de una aplicación en Windows XP

El procedimiento descrito en este tema indica cómo crear un paquete de Windows Installer para instalar un ensamblado Win32. El paquete instala el ensamblado y un archivo de manifiesto de aplicación en una carpeta creada que la aplicación usa. El manifiesto de aplicación especifica la dependencia de la aplicación en el ensamblado privado. Tras instalar el paquete, el ensamblado privado está disponible para uso exclusivo de la aplicación. La dependencia de ensamblado especificada en el manifiesto de aplicación invalida (en el caso de esta aplicación) cualquier otra dependencia de ensamblado global especificada en los archivos de manifiesto del ensamblado.

Antes de continuar, es buena idea saber cómo crear un paquete de Windows Installer sin ensamblados. Para obtener más información, vea Un ejemplo de instalación.

Para instalar un ensamblado privado en Windows XP

  1. Defina un componente de Windows Installer que incluya el ensamblado Win32 y el archivo de manifiesto de aplicación. Este componente puede contener otros recursos que siempre se deben instalar o quitar con el ensamblado. En los pasos restantes de este procedimiento se explica cómo crear la base de datos de instalación donde instalar este componente.
  2. Agregue una fila a la tabla Component del componente que contiene el ensamblado Win32 y el archivo de manifiesto de aplicación. Escriba un GUID de Windows Installer válido para este código de componente. Para obtener más información, vea Cambio del código de componente y ¿Qué ocurre si se interrumpen las reglas de componentes?
  3. El instalador copia el archivo de manifiesto del ensamblado en la carpeta que contiene el archivo especificado en el campo File_Application de la tabla MsiAssembly.
  4. Agregue una fila a la tabla FeatureComponents que vincule el componente a una característica de Windows Installer. Para obtener más información, vea Componentes y características. Una característica de Windows Installer debe ser una parte de la funcionalidad de la aplicación que un usuario puede reconocer. El ensamblado se activa cuando esta característica se selecciona o cuando genera errores mediante una aplicación. Si el ensamblado define una característica adicional, agregue otra fila más a la tabla Feature para los atributos de esa característica. Este paso no es necesario si se está creando un módulo de combinación.
  5. En el caso de los ensamblados en paralelo, la información de enlace y activación (por ejemplo, las clases COM, las interfaces y las bibliotecas de tipos) se almacena en archivos de manifiesto en lugar de en el Registro. Los ensamblados privados almacenan esta información en un manifiesto de ensamblado. En los sistemas que admiten ensamblados en paralelo, el instalador omite el procesamiento de cualquier información sobre el componente que se haya especificado en las tablas Extension, Verb, TypeLib, MIME, Class, ProgId y AppId. La información de enlace y activación se puede introducir en las tablas que usan aquellos sistemas que no admiten el uso compartido de ensamblados en paralelo.
  6. La instalación en paralelo no registra el ensamblado globalmente. El instalador omite el registro automático del componente si se ha especificado información de registro automático en la tabla SelfReg. La información de registro automático se puede introducir en la tabla SelfReg para el registro automático del componente en sistemas que no admiten el uso compartido de ensamblados en paralelo.
  7. Agregue cualquier otra información de Registro —exclusiva del enlace/activación o del registro automático del componente— a las tablas Registry, RemoveRegistry y Environment.
  8. El instalador omite la tabla IsolatedComponent en el caso de este componente en los sistemas operativos que admiten el uso compartido de ensamblados en paralelo. Introduzca información en esta tabla si quiere que el ensamblado sea privado en los sistemas que admiten archivos locales.
  9. Agregue una fila a la tabla MsiAssembly para el componente que contiene el ensamblado Win32. Escriba un valor de 1 en el campo Attributes de la tabla MsiAssembly para especificar que se trata de un ensamblado Win32. Escriba la clave de archivo del ensamblado privado en el campo File_Application de la tabla MsiAssembly. Agregue la acción MsiPublishAssemblies a la tabla InstallExecuteSequence o a la tabla AdvtExecuteSequence. Agregue la acción MsiUnpublishAssemblies a la tabla InstallExecuteSequence. Cree una carpeta para el ensamblado y el archivo de manifiesto en la tabla Directory. Esta carpeta debe estar en el directorio raíz de la aplicación y contener el archivo especificado en el campo File_Application de la tabla MsiAssembly. Durante la instalación de la aplicación, el instalador resuelve la tabla Directory para la ruta de acceso a esta carpeta. Para obtener más información, vea Uso de la tabla Directory.
  10. Agregue filas a la tabla MsiAssemblyName del componente. Agregue una fila por cada par nombre-valor especificado en la sección assemblyIdentity del manifiesto. Para obtener más información, vea Tabla MsiAssemblyName.