Compartilhar via


Usando componentes transitivos

Um uso típico para componentes transitivos é preparar 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 como tendo o atributo transitivo. Quando o usuário atualizar o sistema posteriormente, o produto deverá ser reinstalado. Depois dessa reinstalação, o instalador remove os componentes anteriores e instala os componentes posteriores, sem precisar instalar o produto inteiro.

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

  1. Inclua os dois 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 seu 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 for definido, o instalador reavaliará o valor da instrução na coluna Condition após uma reinstalação.

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

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

    Observação

    A menos que o bit transitivo seja definido, o componente permanece ativado 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 em estados de computador. Não use com condições baseadas em estados ou propriedades do usuário definidas na linha de comando, pois isso pode fazer com que o instalador exija uma reinstalação do produto a cada uso por um usuário diferente.

     

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

É necessária uma reinstalação do produto para comutar os componentes transitivos. Os autores do pacote, portanto, precisam fornecer aos usuários um método para reinstalar o produto e definir os modos da propriedade REINSTALLMODE. Existem basicamente três maneiras de acionar a reinstalação:

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

Observação

A menos que o bit transitivo na coluna Attributes seja configurado para um componente, o componente permanece ativado depois de 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á a origem do aplicativo para reparar ou atualizar 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.