Befehle, die nach der Installation ausgeführt werden müssen
Wenn Sie die Erweiterung über eine MSI-Datei bereitstellen, müssen Sie devenv /setup als Teil Ihrer Installation ausführen, damit Visual Studio Ihre Erweiterungen ermitteln kann.
Hinweis
Die Informationen in diesem Thema beziehen sich auf die Suche nach devenv.exe mit Visual Studio 2008 und früheren Versionen. Informationen zum Ermitteln von devenv.exe mit späteren Versionen von Visual Studio finden Sie unter Erkennen von Systemanforderungen.
Find devenv.exe
Sie können die devenv.exe jeder Version aus Registrierungswerten suchen, die Visual Studio-Installer schreiben, indem Sie die RegLocator-Tabelle und AppSearch-Tabellen verwenden, um die Registrierungswerte als Eigenschaften zu speichern. Weitere Informationen finden Sie unter Erkennen von Systemanforderungen.
RegLocator-Tabellenzeilen, um devenv.exe aus verschiedenen Versionen von Visual Studio zu finden
Signature | Root | Schlüssel | Name des Dataflows | 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 |
AppSearch-Tabellenzeilen für entsprechende RegLocator-Tabellenzeilen
Eigenschaft | 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 |
Beispielsweise schreibt das Visual Studio-Installationsprogramm den Registrierungswert von HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath als C:\VS2008\Common7\IDE\devenv.exe, ein vollständiger Pfad zur ausführbaren Datei, die das Installationsprogramm ausführen muss.
Hinweis
Da die Spalte "Typ" der RegLocator-Tabelle 2 ist, ist es nicht erforderlich, zusätzliche Versionsinformationen in der Signaturtabelle anzugeben.
Run devenv.exe
Nachdem die Standardaktion "AppSearch" im Installationsprogramm ausgeführt wird, weist jede Eigenschaft in der AppSearch-Tabelle einen Wert auf die Datei devenv.exe für die entsprechende Version von Visual Studio auf. Wenn keine der angegebenen Registrierungswerte vorhanden ist – da diese Version von Visual Studio nicht installiert ist – wird die angegebene Eigenschaft auf NULL festgelegt.
Windows Installer unterstützt das Ausführen einer ausführbaren Datei, auf die eine Eigenschaft über den benutzerdefinierten Aktionstyp 50 verweist. Die benutzerdefinierte Aktion sollte die In-Script-Ausführungsoptionen msidbCustomActionTypeInScript
(1024) und msidbCustomActionTypeCommit
(512) enthalten, um sicherzustellen, dass das VSPackage erfolgreich installiert wurde, bevor es in Visual Studio integriert wird. Weitere Informationen finden Sie unter CustomAction-Tabelle und Optionen für die Ausführung von benutzerdefinierten Aktionen in Skripts.
Benutzerdefinierte Aktionen vom Typ 50 geben die Eigenschaft an, die die ausführbare Datei als Wert der Quellspalte und der Befehlszeilenargumente in der Zielspalte enthält.
CustomAction-Tabellenzeilen zum Ausführen von devenv.exe
Aktion | Typ | Quelle | Ziel |
---|---|---|---|
CA_RunDevenv2002 | 1586 | DEVENV_EXE_2002 | /Setup |
CA_RunDevenv2003 | 1586 | DEVENV_EXE_2003 | /Setup |
CA_RunDevenv2005 | 1586 | DEVENV_EXE_2005 | /Setup |
CA_RunDevenv2008 | 1586 | DEVENV_EXE_2008 | /Setup |
Benutzerdefinierte Aktionen müssen in der Tabelle "InstallExecuteSequence" erstellt werden, um sie während der Installation für die Ausführung zu planen. Verwenden Sie die entsprechende Eigenschaft in jeder Zeile der Spalte "Bedingung", um zu verhindern, dass die benutzerdefinierte Aktion ausgeführt wird, wenn diese Version von Visual Studio nicht auf dem System installiert ist.
Hinweis
Nullwertige Eigenschaften werden ausgewertet False
, wenn sie in Bedingungen verwendet werden.
Der Wert der Spalte "Sequenz" für jede benutzerdefinierte Aktion hängt von anderen Sequenzwerten im Windows Installer-Paket ab. Sequenzwerte sollten so sein, dass die benutzerdefinierten Aktionen devenv.exe so nah wie möglich ausgeführt werden, unmittelbar vor der InstallFinalize-Standardaktion.
InstallExecuteSequence-Tabelle zum Planen der benutzerdefinierten Aktionen devenv.exe
Aktion | Bedingung | Sequenz |
---|---|---|
CA_RunDevenv2002 | DEVENV_EXE_2002 | 6602 |
CA_RunDevenv2003 | DEVENV_EXE_2003 | 6603 |
CA_RunDevenv2005 | DEVENV_EXE_2005 | 6605 |
CA_RunDevenv2008 | DEVENV_EXE_2008 | 6608 |