必須在安裝後執行的命令
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
如果您透過.msi 檔案部署您的擴充功能,您必須執行devenv /setup
順序來探索您的擴充功能的 Visual Studio 安裝的一部分。
注意
本主題中的資訊適用於尋找 DevEnv Visual Studio 2008 及更早版本。 如需如何探索 DevEnv Visual Studio 的版本資訊,請參閱偵測系統需求。
尋找 devenv.exe
您可以找到每個版本 devenv.exe 從登錄值Visual Studio撰寫安裝程式,使用 RegLocator 資料表和 AppSearch 資料表來儲存登錄值做為屬性。 如需詳細資訊,請參閱偵測系統需求。
若要找出從不同版本的 Visual Studio 的 devenv.exe RegLocator 資料表資料列
Signature_ | 根 | 索引鍵 | 名稱 | 類型 |
---|---|---|---|---|
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 對應 RegLocator 資料表資料列的資料表資料列
屬性 | 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 |
例如,Visual Studio 安裝程式會將登錄值的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath為C:\VS2008\Common7\IDE\devenv.exe,必須執行安裝程式的可執行檔的完整路徑。
請注意RegLocator 類型資料行是 2,因為不需要指定簽章資料表中的其他版本資訊。
執行 devenv.exe
之後執行安裝程式中的標準動作 AppSearch,AppSearch 資料表中的每個屬性具有對應版本的 Visual Studio 的 devenv.exe 檔案所指向的值。 如果任何指定的登錄值不存在,因為未安裝該版本的 Visual Studio — 指定的屬性設定為 null。
執行自訂動作屬性所指向的可執行檔的 Windows 安裝程式支援輸入 50。 自訂動作應該包含在指令碼的執行選項、 msidbCustomActionTypeInScript (1024) 和 msidbCustomActionTypeCommit (512),以確保 VSPackage 已整合到之前已成功安裝Visual Studio。 如需詳細資訊,請參閱 CustomAction 資料表和自訂動作指令碼中執行的選項。
自訂動作類型 50 的指定屬性包含可執行檔做為來源資料行和目標資料行中的命令列引數的值。
若要執行 devenv.exe CustomAction 資料表資料列
動作 | 類型 | 來源 | Target |
---|---|---|---|
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 |
若要在安裝期間執行的排程來 InstallExecuteSequence 資料表必須撰寫自訂動作。 若要避免如果執行自訂動作使用條件資料行的每個資料列中對應的屬性版本Visual Studio未安裝在系統上。
注意
Null
屬性評估為False
時條件中使用。
針對每個自訂動作 [順序] 欄的值取決於 Windows Installer 封裝中的其他順序值。 序列值應為使 devenv.exe 自訂動作以執行盡可能接近前 InstallFinalize 標準動作。
若要安排 devenv.exe 自訂動作 InstallExecuteSequence 資料表
動作 | 條件 | 序列 |
---|---|---|
CA_RunDevenv2002 | DEVENV_EXE_2002 | 6602 |
CA_RunDevenv2003 | DEVENV_EXE_2003 | 6603 |
CA_RunDevenv2005 | DEVENV_EXE_2005 | 6605 |
CA_RunDevenv2008 | DEVENV_EXE_2008 | 6608 |