Comandos que devem ser executados após a instalação
Se você implantar sua extensão por meio de um arquivo .msi , deverá executar devenv /setup como parte de sua instalação para que o Visual Studio descubra suas extensões.
Observação
As informações neste tópico se aplicam à localização de devenv.exe com o Visual Studio 2008 e versões anteriores. Para obter informações sobre como descobrir devenv.exe com versões posteriores do Visual Studio, consulte Detectar requisitos do sistema.
Encontre devenv.exe
Você pode localizar o devenv de cada versão.exe a partir de valores do Registro que os instaladores do Visual Studio escrevem, usando a tabela RegLocator e as tabelas AppSearch para armazenar os valores do Registro como propriedades. Para obter mais informações, consulte Detectar requisitos do sistema.
Linhas de tabela RegLocator para localizar devenv.exe de diferentes versões do Visual Studio
Signature | Raiz | Chave | Name | Tipo |
---|---|---|---|---|
RL_DevenvExe_2002 | 2 | SOFTWARE\Microsoft\VisualStudio\7.0\Setup\VS | Caminho do Ambiente | 2 |
RL_DevenvExe_2003 | 2 | SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS | Caminho do Ambiente | 2 |
RL_DevenvExe_2005 | 2 | SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS | Caminho do Ambiente | 2 |
RL_DevenvExe_2008 | 2 | SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS | Caminho do Ambiente | 2 |
Linhas da tabela AppSearch para as linhas da tabela RegLocator correspondentes
Propriedade | Signature |
---|---|
DEVENV_EXE_2002 | RL_DevenvExe_2002 |
DEVENV_EXE_2003 | RL_DevenvExe_2003 |
DEVENV_EXE_2005 | RL_DevenvExe_2005 |
DEVENV_EXE_2008 | RL_DevenvExe_2008 |
Por exemplo, o instalador do Visual Studio grava o valor do Registro de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath como C:\VS2008\Common7\IDE\devenv.exe, um caminho completo para o executável que o instalador deve executar.
Observação
Como a coluna Tipo da tabela RegLocator é 2, não é necessário especificar informações de versão adicionais na tabela Assinatura.
Execute devenv.exe
Depois que a ação padrão AppSearch é executada no instalador, cada propriedade na tabela AppSearch tem um valor apontando para o arquivo devenv.exe para a versão correspondente do Visual Studio. Se qualquer um dos valores de registro especificados não estiverem presentes — porque essa versão do Visual Studio não está instalada — a propriedade especificada será definida como null.
O Windows Installer oferece suporte à execução de um executável para o qual uma propriedade aponta por meio do tipo de ação personalizada 50. A ação personalizada deve incluir as opções de execução no script, msidbCustomActionTypeInScript
(1024) e msidbCustomActionTypeCommit
(512), para garantir que o VSPackage tenha sido instalado com êxito antes de integrá-lo ao Visual Studio. Para obter mais informações, consulte Tabela CustomAction e Opções de execução em script de ação personalizada.
As ações personalizadas do tipo 50 especificam a propriedade que contém o executável como o valor da coluna Origem e dos argumentos de linha de comando na coluna Destino.
Linhas da tabela CustomAction para executar o devenv.exe
Ação | Tipo | Origem | Destino |
---|---|---|---|
CA_RunDevenv2002 | 1586 | DEVENV_EXE_2002 | /configuração |
CA_RunDevenv2003 | 1586 | DEVENV_EXE_2003 | /configuração |
CA_RunDevenv2005 | 1586 | DEVENV_EXE_2005 | /configuração |
CA_RunDevenv2008 | 1586 | DEVENV_EXE_2008 | /configuração |
As ações personalizadas devem ser criadas na tabela InstallExecuteSequence para agendá-las para execução durante a instalação. Use a propriedade correspondente em cada linha da coluna Condição para impedir que a ação personalizada seja executada se essa versão do Visual Studio não estiver instalada no sistema.
Observação
As propriedades de valor nulo são avaliadas quando False
usadas em condições.
O valor da coluna Sequência para cada ação personalizada depende de outros valores de sequência no pacote do Windows Installer. Os valores de sequência devem ser tais que as ações personalizadas devenv.exe sejam executadas o mais próximo possível de imediatamente antes da ação padrão InstallFinalize.
Tabela InstallExecuteSequence para agendar as ações personalizadas devenv.exe
Ação | Condição | Sequência |
---|---|---|
CA_RunDevenv2002 | DEVENV_EXE_2002 | 6602 |
CA_RunDevenv2003 | DEVENV_EXE_2003 | 6603 |
CA_RunDevenv2005 | DEVENV_EXE_2005 | 6605 |
CA_RunDevenv2008 | DEVENV_EXE_2008 | 6608 |