Requisitos do sistema de detecção
VSPackage poderá não funciona, a menos que Visual Studio está instalado. Quando você usa o Microsoft Windows Installer de gerenciar a instalação de seu VSPackage, você pode detectar automaticamente se o Visual Studio está instalado. O instalador também pode verificar o sistema para outros requisitos, por exemplo, uma versão específica do Windows ou uma determinada quantidade de RAM. Você também pode configurar o instalador para usar as condições de inicialização para cancelar a instalação, se os requisitos de VSPackage não forem atendidos.
Detecção e a manutenção de chaves
Subchaves de detecção no registro permitem determinar se um produto Visual Studio já está instalado em um computador. Manutenção de subchaves permite detectar se um service release do produto está instalado.
A tabela a seguir relaciona as subchaves de detecção para diferentes produtos de Visual Studio.
Na tabela, LCID representa o ID local (LCID) para sua instalação. Para obter uma lista de LCIDs válidas, consulte Identificações de localidade atribuído pela Microsoft no site do MSDN.
As subchaves listadas, DWORD: 00000001 significa true em DWORD: 00000000 significa falso.
Produto |
Chave |
---|---|
Ultimate Visual de Studio2010 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\VSTSCore\$ (var.LCID) |
Visual Premium do Studio2010 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\VSTDCore\$ (var.LCID) |
Professional do Visual Studio2010 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\PROCore\$ (var.LCID) |
Shell(Integrated) do Microsoft VisualStudio 2010 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\IntShell\$ (var.LCID) |
Dica
Em um sistema operacional de Windows de 64 bits, as chaves começam da seguinte maneira: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS\Servicing\10.0\
Detecção de versões anteriores do Visual Studio
Várias versões do Visual Studio podem ser instaladas no mesmo computador. Para mais informações, consulte Suporte a várias versões do Visual Studio.
Para detectar Visual Studio versões, use as seguintes identificações do componente na tabela CompLocator do seu pacote do Windows Installer.
Linhas da tabela CompLocator
Signature_ |
ComponentID |
Tipo |
---|---|---|
CL_Devenv_2002 |
{0C4A71DF-5A73-11D3-A520-00A0C9231BA1} |
1 |
CL_Devenv_2003 |
{153B059B-B2F4-4B54-9AC3-32BE38E470E1} |
1 |
CL_Devenv_2005 |
{320DB690-7979-4015-BD78-A16D7279043B} |
1 |
CL_Devenv_2008 |
{9E43F3BB-E7AE-4A97-ACF6-FB864533CC7E} |
1 |
Use a tabela de AppSearch para conectar-se as colunas Signature_ na tabela CompLocator aos valores de propriedade, da seguinte maneira.
Linhas da tabela AppSearch
Propriedade |
Signature_ |
---|---|
DEVENV_COMP_2002 |
CL_Devenv_2002 |
DEVENV_COMP_2003 |
CL_Devenv_2003 |
DEVENV_COMP_2005 |
CL_Devenv_2005 |
DEVENC_COMP_2008 |
CL_Devenc_2008 |
Os valores nas colunas Signature_ e de propriedade podem ser qualquer nome, mas os valores de Signature_ nas tabelas CompLocator e AppSearch devem coincidir. A propriedade que está vinculada ao seu localizador de componente é NULL se a versão apropriada do Visual Studio não está instalada. Se a propriedade for NULL, testadas com a propriedade de condições são falsos.
Detectando as linguagens de programação de Visual Studio
Se seu VSPackage requer uma determinada linguagem de programação de Visual Studio, use as seguintes linhas de CompLocator e as linhas de AppSearch apropriadas para detectar se o idioma do versões específicas do Visual Studio está instalado.
Linhas da tabela CompLocator detectar se C# Visual está instalada
Signature_ |
ComponentID |
Tipo |
---|---|---|
CL_VCsharp_2002 |
{B881292C-F099-11D4-A547-0090278A1BB8} |
1 |
CL_VCsharp_2003 |
{6110A574-76CE-45A5-92E8-2E194F20BBF7} |
1 |
CL_VCsharp_2005 |
{727833BC-8B4B-4480-B34A-B1A17CFF259B} |
1 |
CL_VCSharp_2008 |
{8D70EE8E-1638-40C2-921B-28E52A68A986} |
1 |
CL_VCSharp_2010 |
{D3246EF0-4F4E-4F81-B4FF-8C716EC0A929} |
1 |
Linhas da tabela de CompLocator para detectar se o Visual C++ está instalada
Signature_ |
ComponentID |
Tipo |
---|---|---|
CL_VCpp_2002 |
{00E21CF5-5361-11D3-A51F-00A0C9231BA1} |
1 |
CL_VCpp_2003 |
{1E8D5C4E-0143-4871-9E7E-F04EEF70C3E0} |
1 |
CL_VCpp_2005 |
{28A38374-4A68-4562-9AF3-5D7BB96B0461} |
1 |
CL_VCpp_2008 |
{35DF9D40-8283-4661-B572-F7EACCAB287C} |
1 |
CL_VCpp_2010 |
{82D71315-B841-492E-986E-2660ABD89CD1} |
1 |
Linhas da tabela de CompLocator para detectar se o Visual Basic está instalada
Signature_ |
ComponentID |
Tipo |
---|---|---|
CL_VBasic_2002 |
{62EDCDC9-69F4-11D3-A521-00A0C9231BA1} |
1 |
CL_VBasic_2003 |
{667F7FE3-3165-41C4-9CF9-F2719ADF0505} |
1 |
CL_VBasic_2005 |
{F5FDD145-7637-4CA7-90FE-6936A082CEDB} |
1 |
CL_VBasic_2008 |
{F59EAFC0-6C67-40F2-AE59-85E4CE330A4E} |
1 |
CL_VBasic_2010 |
{235875C7-333C-4186-A46F-064431527642} |
1 |
Detectando as edições de Visual Studio
A edição mínima do Visual Studio que requer a sua VSPackage impõe a sua chave de carga do pacote, mas você também pode detectar a edição na instalação. Para mais informações, consulte VSPackage Load Keys.
Dica
Visual Studio VSPackages de 2010 não requerem uma chave de carga do pacote.
Impedindo o VSPackage sendo instalado e exibindo uma mensagem explicativa fornece uma melhor experiência de usuário de deixar o VSPackage ser instalado e não funcionar. Use as seguintes linhas de tabela de RegLocator e as linhas de tabela de AppSearch apropriadas para ativar o Windows Installer definir propriedades que podem ser usados em testes condicionais.
Linhas da tabela de RegLocator para detectar as edições de Visual Studio
Signature_ |
Raiz |
Chave |
Nome |
Tipo |
---|---|---|---|---|
RL_2002_Professional |
2 |
SOFTWARE\Microsoft\VisualStudio\7.0\Setup\VS\Pro |
ProductDir |
0 |
RL_2002_Enterprise |
2 |
SOFTWARE\Microsoft\VisualStudio\7.0\Setup\VS\Ent |
ProductDir |
0 |
RL_2003_Professional |
2 |
SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS\Pro |
ProductDir |
0 |
RL_2003_EnterpriseDeveloper |
2 |
SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS\Ent |
ProductDir |
0 |
RL_2003_EnterpriseArchitect |
2 |
SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS\Arch |
ProductDir |
0 |
RL_2005_Standard |
2 |
SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\Std |
ProductDir |
0 |
RL_2005_Professional |
2 |
SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\Pro |
ProductDir |
0 |
RL_2005_TeamArchitect |
2 |
SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTA |
ProductDir |
0 |
RL_2005_TeamDeveloper |
2 |
SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTD |
ProductDir |
0 |
RL_2005_TeamSuite |
2 |
SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTS |
ProductDir |
0 |
RL_2005_TeamTest |
2 |
SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTT |
ProductDir |
0 |
RL_2005_VSTO |
2 |
SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTO |
ProductDir |
0 |
Detectando quando Visual Studio É executado.
O VSPackage não será registrado corretamente se Visual Studio estiver sendo executado quando o VSPackage é instalado. O instalador deve detectar quando Visual Studio estiver sendo executado e, em seguida, se recusará a usar o programa. Windows Installer não permite usar entradas de tabela para ativar a detecção de tal. Em vez disso, você deve criar uma ação personalizada, da seguinte maneira: Use o EnumProcesses função para detectar o processo devenv. exe e, em seguida, definir uma propriedade do installer que é usada em uma condição de inicialização ou condicionalmente exibir uma caixa de diálogo que solicita ao usuário para fechar Visual Studio.
Cancelando a instalação usando as condições de inicialização
Se qualquer um dos requisitos do seu VSPackage não forem atendidos, você pode usar a tabela de LaunchCondition de pacote do Windows Installer para cancelar a instalação. A tabela de LaunchCondition tem uma linha para cada condição de inicialização e uma mensagem a ser exibida para cada condição que não for atendida. A tabela a seguir lista as linhas da tabela LaunchCondition que usam propriedades de sistema do Windows Installer e propriedades de detecção personalizada que foram configuradas anteriormente.
Dica
Como registrar um VSPackage requer gravar valores do registro na chave HKEY_LOCAL_MACHINE, VSPackage instalação requer direitos de usuário elevados, mesmo que, na verdade, executando o VSPackage não requer permissões elevadas.
Linhas da tabela de exemplo LaunchCondition
Condição |
Descrição |
---|---|
DEVENV_COMP_2002 OU DEVENV_COMP_2003 OU DEVENV_COMP_2005 OU DEVENV_COMP_2008 instalado |
Este VSPackage requer Visual Studio. |
VersionNT = > 500 |
Windows 2000 é o requisito mínimo para o VSPackage. |
NÃO VISUAL_STUDIO_RUNNING |
Feche Visual Studio antes de instalar este VSPackage. |
Privilegiado |
Para instalar este VSPackage, são necessários direitos de usuário elevados. |
Dica
Se você depende da tabela de AppSearch para definir as propriedades que você deseja usar na tabela LaunchCondition, a ação padrão de AppSearch deve aparecer antes do LaunchConditions na tabela InstallUISequence e a tabela InstallExecuteSequence.