Organizar aplicativos em componentes

O Windows Installer instala e remove um aplicativo ou produto em partes referidas como componentes. Componentes são coleções de recursos que são sempre instalados ou removidos como uma unidade do sistema de um usuário. Um recurso pode ser um arquivo, uma chave do Registro, um atalho ou qualquer outra coisa que possa ser instalada. Cada componente recebe um GUID de código de componente exclusivo.

Os autores de pacotes de instalação só devem criar componentes e versões de componentes que podem ser instalados e removidos sem danificar outros componentes. Além disso, a remoção de um componente não deve deixar para trás qualquer recurso órfão no computador do usuário, como arquivos não utilizados, chaves do Registro ou atalhos. Para garantir isso, os autores devem obedecer às seguintes regras gerais ao organizar recursos em componentes:

  • Nunca criar dois componentes que instalem um recurso com o mesmo nome e local de destino. Se um recurso precisar ser duplicado em vários componentes, altere o nome ou local de destino em cada componente. Essa regra deverá ser aplicada em aplicativos, produtos, versões de produtos e empresas.
  • Observe que a regra anterior significa que dois componentes não devem ter o mesmo arquivo de caminho da chave. O valor do caminho da chave aponta para um arquivo ou pasta específico pertencente ao componente que o instalador usa para detectar o componente. Se dois componentes tiverem o mesmo arquivo de caminho de chave, o instalador não poderá distinguir qual componente está instalado. No entanto, dois componentes podem compartilhar uma pasta de caminho da chave.
  • Não criar uma versão de um componente incompatível com todas as versões anteriores do componente. O componente pode ser compartilhado por outros aplicativos, produtos, versões de produtos e empresas. Em vez disso, crie um novo componente.
  • Não criar componentes contendo recursos que precisarão ser instalados em mais de um diretório no sistema do usuário. O instalador instala todos os recursos em um componente no mesmo diretório. Não é possível instalar alguns recursos em subdiretórios.
  • Não incluir mais de um servidor COM por componente. Se um componente contiver um servidor COM, esse deverá ser o caminho da chave para o componente.
  • Não especificar mais de um arquivo por componente como um destino para o menu Iniciar ou um atalho da Área de Trabalho.

Ao organizar um aplicativo em componentes, os autores de pacotes talvez precisem adicionar, remover ou modificar os recursos em uma instalação existente. Nesse caso, o autor deverá decidir se deseja fornecer os recursos introduzindo um novo componente ou modificando os componentes existentes e alterando-os em uma nova versão do componente. Como um código de componente exclusivo deve ser atribuído quando um novo componente é introduzido, os autores devem determinar se as alterações exigem a alteração do código do componente. Para saber mais, confira Alterar o código do componente, O que acontece se as regras de componente forem quebradas? e Definir componentes do instalador.