Gerenciamento de componentes
As unidades de tarefas no Windows Installer são chamadas de componentes do Windows Installer (às vezes chamadas de WICs ou apenas componentes). Um GUID identifica cada WIC, que é a unidade básica de instalação e contagem de referência para configurações que usam o Windows Installer.
Embora você possa usar vários produtos para criar seu instalador VSPackage, esta discussão pressupõe o uso de arquivos do Windows Installer (.msi). Ao criar o instalador, você deve gerenciar corretamente a implantação do arquivo para que a contagem de referência correta aconteça o tempo todo. Consequentemente, versões diferentes do seu produto não interferirão ou quebrarão umas às outras em uma combinação de cenários de instalação e desinstalação.
No Windows Installer, a contagem de referência ocorre no nível do componente. Você deve organizar cuidadosamente seus recursos — arquivos, entradas do Registro e assim por diante — em componentes. Existem outros níveis de organização — como módulos, recursos e produtos — que podem ajudar em diferentes cenários. Para obter mais informações, confira Noções básicas do Windows Installer.
Diretrizes de configuração de criação para instalação lado a lado
Crie arquivos e chaves do Registro que são compartilhados entre versões em seus próprios componentes.
Isso permite que você os consuma facilmente na próxima versão. Por exemplo, digite bibliotecas registradas globalmente, extensões de arquivo, outros itens registrados no HKEY_CLASSES_ROOT e assim por diante.
Agrupe componentes compartilhados em módulos de mesclagem separados.
Essa estratégia ajuda você a criar corretamente para a instalação lado a lado daqui para frente.
Instale arquivos compartilhados e chaves do Registro usando os mesmos componentes do Windows Installer entre versões.
Se você usar um componente diferente, os arquivos e as entradas do Registro serão desinstalados quando um VSPackage versionado for desinstalado, mas outro VSPackage ainda estiver instalado.
Não misture itens versionados e compartilhados no mesmo componente.
Isso impossibilita a instalação de itens compartilhados em um local global e itens versionados em locais isolados.
Não tem chaves do Registro compartilhadas que apontem para arquivos versionados.
Se você fizer isso, as chaves compartilhadas serão substituídas quando outro VSPackage versionado for instalado. Depois de remover a segunda versão, o arquivo para o qual a chave está apontando desapareceu.