Detectar requisitos do sistema
Um VSPackage não pode funcionar a menos que o Visual Studio esteja instalado. Quando você usa o Microsoft Windows Installer para gerenciar a instalação do VSPackage, você pode configurar o instalador para detectar se o Visual Studio está instalado. Você também pode configurá-lo para verificar o sistema para outros requisitos, por exemplo, uma versão específica do Windows ou uma determinada quantidade de RAM.
Detectar edições do Visual Studio
Para determinar se uma edição do Visual Studio está instalada, verifique se o valor da chave do Registro de instalação é (REG_DWORD) 1 na pasta apropriada, conforme listado na tabela a seguir. Observe que há uma hierarquia de edições do Visual Studio:
Empresa
Professional
Community
Quando uma edição mais recente é instalada, as chaves do Registro para essa edição são adicionadas, bem como para edições anteriores. Ou seja, se a edição Enterprise estiver instalada, a chave Install será definida como 1 para Enterprise, bem como para as edições Professional e Community. Portanto, você precisa verificar apenas a edição mais recente que você precisa.
Observação
Na versão de 64 bits do editor do Registro, as chaves de 32 bits são exibidas em HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\. As chaves do Visual Studio estão em HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\vs\Servicing\.
Product | Chave |
---|---|
Visual Studio Enterprise 2015 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\14.0\enterprise |
Visual Studio Professional 2015 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\14.0\professional |
Visual Studio Community 2015 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\14.0\community |
Shell do Visual Studio 2015 (integrado e isolado) | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\14.0\isoshell |
Detectar quando o Visual Studio está em execução
Seu VSPackage não pode ser registrado corretamente se o Visual Studio estiver em execução quando o VSPackage estiver instalado. O instalador deve detectar quando o Visual Studio está sendo executado e, em seguida, recusar-se a instalar o programa. O Windows Installer não permite que você use entradas de tabela para habilitar essa detecção. Em vez disso, você deve criar uma ação personalizada, da seguinte maneira: Use a EnumProcesses
função para detectar o processo devenv.exe e, em seguida, defina uma propriedade de instalador que é usada em uma condição de inicialização ou exibir condicionalmente uma caixa de diálogo que solicita que o usuário feche o Visual Studio.