如果通过 .msi 文件来部署扩展,必须运行 devenv /setup 作为安装的一部分来 Visual Studio 2012 可以查看您的扩展。 有关如何安装 Visual Studio 2012扩展的更多信息,请参见 Visual Studio 扩展部署。
查找 devenv.exe
可以找到以 Visual Studio 安装程序编写,使用 RegLocator 表和 AppSearch 表存储注册表值作为属性的注册表值的每个版本的 devenv.exe。 有关更多信息,请参见 检测系统要求。
RegLocator 表行找到从 Visual Studio 的不同版本的 devenv.exe
Signature_ |
Root |
键 |
名称 |
类型 |
---|---|---|---|---|
RL_DevenvExe_2002 |
2 |
software \ Microsoft \ VisualStudio \ \ 的设置 7.0 \ USER1 |
EnvironmentPath |
2 |
RL_DevenvExe_2003 |
2 |
software \ Microsoft \ VisualStudio \ \ 的设置 7.1 \ USER1 |
EnvironmentPath |
2 |
RL_DevenvExe_2005 |
2 |
software \ Microsoft \ VisualStudio \ \ 的设置 8.0 \ USER1 |
EnvironmentPath |
2 |
RL_DevenvExe_2008 |
2 |
software \ Microsoft \ VisualStudio \ \ 的设置 9.0 \ USER1 |
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 Installer 支持运行可执行文件复制哪些属性通过自定义操作类型 50。 该自定义操作应包括脚本执行选项、 msidbCustomActionTypeInScript (1024) 和 msidbCustomActionTypeCommit (512),确保 VSPackage 在集成之前已成功安装到 Visual Studio。 有关更多信息,请参见 CustomAction 表和自定义操作脚本执行选项。
键入 50 的自定义操作在目标列指定包含可执行的属性作为源列和命令行参数的值。
CustomAction 运行 devenv.exe 的表行
操作 |
类型 |
源 |
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 表
操作 |
Condition |
Sequence |
---|---|---|
CA_RunDevenv2002 |
DEVENV_EXE_2002 |
6602 |
CA_RunDevenv2003 |
DEVENV_EXE_2003 |
6603 |
CA_RunDevenv2005 |
DEVENV_EXE_2005 |
6605 |
CA_RunDevenv2008 |
DEVENV_EXE_2008 |