Share via


Usar componentes transitivos

Um uso comum de componentes transitivos é no preparo de um produto para reinstalar durante uma atualização do sistema. O autor do pacote de instalação especifica os componentes que precisam ser trocados durante uma atualização do sistema por ter o atributo transitivo. Quando o usuário atualizar o sistema posteriormente, o produto deverá ser reinstalado. Após essa reinstalação, o instalador remove os componentes anteriores e instala os componentes posteriores, sem precisar instalar todo o produto.

Para incluir dois componentes transitivos no pacote de instalação

  1. Inclua ambos os componentes transitivos no pacote de instalação.

  2. Crie os dois componentes transitivos na tabela Component da mesma forma que os componentes regulares. Cada componente transitivo deve ter o próprio GUID exclusivo especificado na coluna ComponentId.

  3. Inclua o bit msidbComponentAttributesTransitive na coluna Attributes da tabela Component para cada componente transitivo. Se esse bit estiver definido, o instalador reavaliará o valor da instrução na coluna Condition após uma reinstalação.

    Se anteriormente o valor era False e foi alterado para True, o instalador instala o componente.

    Se anteriormente o valor era True e foi alterado para False, o instalador remove o componente mesmo que o componente tenha outros produtos como clientes.

    Observação

    A menos que o bit transitivo seja definido, o componente permanecerá habilitado depois de instalado, mesmo que a instrução condicional seja avaliada como False em uma instalação de manutenção subsequente do produto. As condições devem ser baseadas apenas nos estados do computador. Não use com condições baseadas em estados de usuário ou propriedades definidas na linha de comando porque isso pode fazer com que o instalador exija uma reinstalação do produto em cada uso por um usuário diferente.

     

  4. Insira expressões condicionais complementares nos campos Condição da tabela Control de modo que, quando a condição no primeiro componente transitivo mudar para False, a condição no segundo componente transitivo mude para True. Isso resulta na remoção do primeiro componente e na instalação do segundo componente após a reinstalação do aplicativo.

Uma reinstalação do produto é necessária para alternar os componentes transitivos. Os autores de pacotes, portanto, precisam fornecer aos usuários um método para reinstalar o produto e para definir os modos da propriedade REINSTALLMODE. Há basicamente três maneiras de disparar a reinstalação:

O bit só deve ser usado com condições baseadas em estados do computador. Não use com condições baseadas em estados de usuário ou propriedades definidas na linha de comando porque isso pode fazer com que o instalador exija uma reinstalação do produto em cada uso por um usuário diferente.

Observação

A menos que o bit Transitivo na coluna Attributes esteja definido para um componente, o componente permanecerá habilitado uma vez instalado, mesmo que a instrução condicional na coluna Condition seja avaliada como False em uma instalação de manutenção subsequente do produto.

Na maioria dos casos, se um aplicativo incluir componentes transitivos, o Windows Installer exigirá que a origem do aplicativo repare ou atualize o aplicativo. Nesses casos, o CD-ROM de restauração do sistema enviado por um fabricante de equipamento original não funciona e uma fonte de instalação real para o aplicativo precisa ser fornecida.