Compartilhar via


Desinstalando um VSPackage com o Windows Installer

Na maioria das vezes, o Windows Installer pode desinstalar seu VSPackage apenas "desfazendo" o que ele fez para instalar seu VSPackage. As ações personalizadas discutidas em Comandos que devem ser executados após a instalação também devem ser executadas após uma desinstalação. Como as chamadas para devenv.exe ocorrem pouco antes da ação padrão InstallFinalize para instalação e desinstalação, as entradas de tabela CustomAction e InstallExecuteSequence atendem a ambos os casos.

Observação

Executar depois de devenv /setup desinstalar um pacote MSI.

Como regra geral, se você adicionar ações personalizadas a um pacote do Windows Installer, deverá manipular essas ações durante a desinstalação e a reversão. Se você adicionar ações personalizadas para registrar automaticamente seu VSPackage, por exemplo, deverá adicionar ações personalizadas para cancelá-lo também.

Observação

É possível para um usuário instalar o VSPackage e, em seguida, desinstalar as versões do Visual Studio com o qual ele está integrado. Você pode ajudar a garantir que a desinstalação do VSPackage funcione nesse cenário eliminando ações personalizadas que executam código com dependências no Visual Studio.

Manipulando condições de inicialização no momento da desinstalação

A ação padrão LaunchConditions lê as linhas da tabela LaunchCondition para mostrar mensagens de erro se as condições não forem atendidas. Como as condições de inicialização geralmente são usadas para garantir que os requisitos do sistema sejam atendidos, você geralmente pode ignorar as condições de inicialização durante a desinstalação adicionando a condição, , NOT Installedà linha LaunchConditions da tabela LaunchCondition.

Uma alternativa é adicionar OR Installed à inicialização condições que não são importantes durante a desinstalação. Isso garante que a condição sempre será verdadeira durante a desinstalação e, portanto, não exibirá a mensagem de erro de condição de inicialização.

Observação

Installed é a propriedade que o Windows Installer define quando detecta que o VSPackage já foi instalado no sistema.