Comandi che devono essere eseguiti dopo l'installazione
Se si distribuisce l'estensione tramite un file msi , è necessario eseguire devenv /setup come parte dell'installazione per consentire a Visual Studio di individuare le estensioni.
Nota
Le informazioni contenute in questo argomento si applicano alla ricerca di devenv.exe con Visual Studio 2008 e versioni precedenti. Per informazioni su come individuare devenv.exe con versioni successive di Visual Studio, vedere Rilevare i requisiti di sistema.
Trovare devenv.exe
È possibile individuare il file devenv.exe di ogni versione dai valori del Registro di sistema scritti dai programmi di installazione di Visual Studio usando la tabella RegLocator e le tabelle AppSearch per archiviare i valori del Registro di sistema come proprietà. Per altre informazioni, vedere Rilevare i requisiti di sistema.
Righe della tabella RegLocator per individuare devenv.exe da versioni diverse di Visual Studio
Firma | Radice | Key | Name | Type |
---|---|---|---|---|
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 |
Righe della tabella AppSearch per le righe della tabella RegLocator corrispondenti
Proprietà | Firma |
---|---|
DEVENV_EXE_2002 | RL_DevenvExe_2002 |
DEVENV_EXE_2003 | RL_DevenvExe_2003 |
DEVENV_EXE_2005 | RL_DevenvExe_2005 |
DEVENV_EXE_2008 | RL_DevenvExe_2008 |
Ad esempio, il programma di installazione di Visual Studio scrive il valore del Registro di sistema di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath come C:\VS2008\Common7\IDE\devenv.exe, un percorso completo del file eseguibile che il programma di installazione deve eseguire.
Nota
Poiché la colonna Type della tabella RegLocator è 2, non è necessario specificare informazioni aggiuntive sulla versione nella tabella Signature.
Eseguire devenv.exe
Dopo l'esecuzione dell'azione standard AppSearch nel programma di installazione, ogni proprietà nella tabella AppSearch ha un valore che punta al file devenv.exe per la versione corrispondente di Visual Studio. Se uno dei valori del Registro di sistema specificati non è presente, perché tale versione di Visual Studio non è installata, la proprietà specificata è impostata su Null.
Windows Installer supporta l'esecuzione di un eseguibile a cui punta una proprietà tramite il tipo di azione personalizzato 50. L'azione personalizzata deve includere le opzioni di esecuzione nello script ( msidbCustomActionTypeInScript
1024) e msidbCustomActionTypeCommit
(512) per assicurarsi che il VSPackage sia stato installato correttamente prima di integrarlo in Visual Studio. Per altre informazioni, vedere Tabella CustomAction e Opzioni di esecuzione dell'azione personalizzata nello script.
Le azioni personalizzate di tipo 50 specificano la proprietà contenente il file eseguibile come valore della colonna Source e degli argomenti della riga di comando nella colonna Target.
Righe della tabella CustomAction per eseguire devenv.exe
Azione | Type | Source | Target |
---|---|---|---|
CA_RunDevenv2002 | 1586 | DEVENV_EXE_2002 | /Installazione |
CA_RunDevenv2003 | 1586 | DEVENV_EXE_2003 | /Installazione |
CA_RunDevenv2005 | 1586 | DEVENV_EXE_2005 | /Installazione |
CA_RunDevenv2008 | 1586 | DEVENV_EXE_2008 | /Installazione |
Le azioni personalizzate devono essere create nella tabella InstallExecuteSequence per pianificarle per l'esecuzione durante l'installazione. Usare la proprietà corrispondente in ogni riga della colonna Condizione per impedire l'esecuzione dell'azione personalizzata se tale versione di Visual Studio non è installata nel sistema.
Nota
Le proprietà con valori Null restituiscono False
se usate in condizioni.
Il valore della colonna Sequenza per ogni azione personalizzata dipende da altri valori di sequenza nel pacchetto di Windows Installer. I valori di sequenza devono essere tali che le azioni personalizzate devenv.exe vengano eseguite il più vicino possibile prima dell'azione standard InstallFinalize.
Tabella InstallExecuteSequence per pianificare le azioni personalizzate devenv.exe
Azione | Condizione | 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 |