Uso de componentes transitivos

Un uso típico de los componentes transitivos es preparar un producto para reinstalar durante una actualización del sistema. El autor del paquete de instalación especifica los componentes que deben intercambiarse durante una actualización del sistema como tener el atributo transitivo. Cuando el usuario actualice posteriormente el sistema, se debe volver a instalar el producto. Tras esta reinstalación, el instalador quita los componentes anteriores e instala los componentes posteriores, sin tener que instalar todo el producto.

Para incluir dos componentes transitivos en el paquete de instalación

  1. Incluya ambos componentes transitivos en el paquete de instalación.

  2. Cree ambos componentes transitivos en la tabla Componente de la misma manera que los componentes normales. Cada componente transitivo debe tener su propio GUID único especificado en la columna ComponentId.

  3. Incluya el bit msidbComponentAttributesTransitive en la columna Atributos de la tabla Component para cada componente transitivo. Si se establece este bit, el instalador vuelve a evaluar el valor de la instrucción en la columna Condición tras volver a instalar.

    Si el valor era anteriormente False y ha cambiado a True, el instalador instala el componente.

    Si el valor era anteriormente True y ha cambiado a False, el instalador quita el componente incluso si el componente tiene otros productos como clientes.

    Nota

    A menos que se establezca el bit transitivo, el componente permanece habilitado una vez instalado aunque la instrucción condicional se evalúe como False en una instalación de mantenimiento posterior del producto. Las condiciones deben basarse únicamente en los estados del equipo. No use con condiciones basadas en los estados de usuario o las propiedades establecidas en la línea de comandos, ya que esto puede hacer que el instalador requiera una reinstalación del producto en cada uso por parte de un usuario diferente.

     

  4. Escriba expresiones condicionales complementarias en los campos Condición de la tabla Control de modo que, cuando la condición en el primer componente transitivo cambie a False, la condición del segundo componente transitivo cambia a True. Esto da como resultado la eliminación del primer componente y la instalación del segundo componente tras la reinstalación de la aplicación.

Es necesario volver a instalar el producto para cambiar los componentes transitivos. Por lo tanto, los autores de paquetes deben proporcionar a los usuarios un método para volver a instalar el producto y para establecer los modos de la propiedad REINSTALLMODE . Básicamente hay tres maneras de desencadenar la reinstalación:

El bit solo se debe usar con condiciones basadas en estados del equipo. No use con condiciones basadas en los estados de usuario o las propiedades establecidas en la línea de comandos, ya que esto puede hacer que el instalador requiera una reinstalación del producto en cada uso por parte de un usuario diferente.

Nota

A menos que el bit Transitivo de la columna Atributos esté establecido para un componente, el componente permanece habilitado una vez instalado aunque la instrucción condicional de la columna Condición se evalúe como False en una instalación de mantenimiento posterior del producto.

En la mayoría de los casos, si una aplicación incluye componentes transitivos, Windows Instalador requiere que el origen de la aplicación repare o actualice la aplicación. En estos casos, el CD-ROM de restauración del sistema enviado por un fabricante de equipos originales no funciona y es necesario proporcionar una fuente de instalación real para la aplicación.