Polecenia, które muszą być uruchamiane po instalacji
W przypadku wdrażania rozszerzenia za pomocą pliku msi należy uruchomić polecenie devenv /setup w ramach instalacji, aby program Visual Studio odnajdył rozszerzenia.
Uwaga
Informacje w tym temacie dotyczą znajdowania pliku devenv.exe z programem Visual Studio 2008 i jego wcześniejszymi wersjami. Aby uzyskać informacje na temat odnajdywania pliku devenv.exe w nowszych wersjach programu Visual Studio, zobacz Wykrywanie wymagań systemowych.
Znajdź plik devenv.exe
Możesz zlokalizować każdą wersję devenv.exe z wartości rejestru zapisywanych przez instalatory programu Visual Studio, używając tabeli RegLocator i tabel AppSearch do przechowywania wartości rejestru jako właściwości. Aby uzyskać więcej informacji, zobacz Wykrywanie wymagań systemowych.
Wiersze tabeli RegLocator w celu zlokalizowania pliku devenv.exe z różnych wersji programu Visual Studio
Podpis | Element główny | Key | Nazwa/nazwisko | Typ |
---|---|---|---|---|
RL_DevenvExe_2002 | 2 | SOFTWARE\Microsoft\VisualStudio\7.0\Setup\VS | EnvironmentPath | 2 |
RL_DevenvExe_2003 | 2 | SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS | EnvironmentPath | 2 |
RL_DevenvExe_2005 | 2 | SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS | EnvironmentPath | 2 |
RL_DevenvExe_2008 | 2 | SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS | EnvironmentPath | 2 |
Wiersze tabeli AppSearch dla odpowiadających wierszy tabeli RegLocator
Właściwości | Podpis |
---|---|
DEVENV_EXE_2002 | RL_DevenvExe_2002 |
DEVENV_EXE_2003 | RL_DevenvExe_2003 |
DEVENV_EXE_2005 | RL_DevenvExe_2005 |
DEVENV_EXE_2008 | RL_DevenvExe_2008 |
Na przykład instalator programu Visual Studio zapisuje wartość rejestru HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath jako C:\VS2008\Common7\IDE\devenv.exe, należy uruchomić pełną ścieżkę do pliku wykonywalnego instalatora.
Uwaga
Ponieważ kolumna Type tabeli RegLocator wynosi 2, nie jest konieczne określenie dodatkowych informacji o wersji w tabeli Signature.
Uruchom plik devenv.exe
Po uruchomieniu standardowej akcji AppSearch w instalatorze każda właściwość w tabeli AppSearch ma wartość wskazującą plik devenv.exe dla odpowiedniej wersji programu Visual Studio. Jeśli którakolwiek z określonych wartości rejestru nie jest obecna — ponieważ ta wersja programu Visual Studio nie jest zainstalowana — określona właściwość jest ustawiona na wartość null.
Instalator Windows obsługuje uruchamianie pliku wykonywalnego, do którego właściwość wskazuje niestandardowy typ akcji 50. Akcja niestandardowa powinna zawierać opcje wykonywania skryptu ( msidbCustomActionTypeInScript
1024) i msidbCustomActionTypeCommit
(512), aby upewnić się, że pakiet VSPackage został pomyślnie zainstalowany przed zintegrowaniem go z programem Visual Studio. Aby uzyskać więcej informacji, zobacz Temat CustomAction table (Tabela CustomAction) i Custom action in-script execution options (Opcje wykonywania akcji niestandardowej w skrycie).
Akcje niestandardowe typu 50 określają właściwość zawierającą plik wykonywalny jako wartość kolumny Źródło i argumenty wiersza polecenia w kolumnie Target.
Wiersze tabeli CustomAction do uruchomienia pliku devenv.exe
Akcja | Typ | Lokalizacja źródłowa | Target |
---|---|---|---|
CA_RunDevenv2002 | 1586 | DEVENV_EXE_2002 | /Instalacji |
CA_RunDevenv2003 | 1586 | DEVENV_EXE_2003 | /Instalacji |
CA_RunDevenv2005 | 1586 | DEVENV_EXE_2005 | /Instalacji |
CA_RunDevenv2008 | 1586 | DEVENV_EXE_2008 | /Instalacji |
Akcje niestandardowe należy utworzyć w tabeli InstallExecuteSequence, aby zaplanować ich wykonywanie podczas instalacji. Użyj odpowiedniej właściwości w każdym wierszu kolumny Warunek, aby zapobiec uruchamianiu akcji niestandardowej, jeśli ta wersja programu Visual Studio nie jest zainstalowana w systemie.
Uwaga
Właściwości o wartości null są obliczane w False
przypadku użycia w warunkach.
Wartość kolumny Sekwencja dla każdej akcji niestandardowej zależy od innych wartości sekwencji w pakiecie Instalatora Windows. Wartości sekwencji powinny być takie, że akcje niestandardowe devenv.exe są uruchamiane jak najbliżej bezpośrednio przed akcją ZainstalujFinalize standardowej.
InstallExecuteSequence table to schedule the devenv.exe custom actions (Instalowanie tabeliExecuteSequence w celu zaplanowania niestandardowych akcji devenv.exe)
Akcja | Stan | Sequence |
---|---|---|
CA_RunDevenv2002 | DEVENV_EXE_2002 | 6602 |
CA_RunDevenv2003 | DEVENV_EXE_2003 | 6603 |
CA_RunDevenv2005 | DEVENV_EXE_2005 | 6605 |
CA_RunDevenv2008 | DEVENV_EXE_2008 | 6608 |