使用 VS2017 安装程序项目从命令行运行 vs2017 DevEnv

Posted

技术标签:

【中文标题】使用 VS2017 安装程序项目从命令行运行 vs2017 DevEnv【英文标题】:Running vs2017 DevEnv from command line with VS2017 Installer Projects 【发布时间】:2018-03-28 10:19:49 【问题描述】:

我继承了一堆 VS2010(啊!)安装程序项目 (.vdproj),它们安装了一些 Win 服务

当然,在 VS2017 中这些不再存在,但扩展“VS2017 安装程序项目”效果很好。我可以很好地打开它们并构建,从而生成 msi 文件。

但是,这也需要在 Jenkins 机器(运行 Windows 7)上完成。所以我在 Jenkins 机器上安装了带有 Project Installer 扩展的 VS2017,并尝试首先从 IDE 运行项目。效果很好。生成 .msi 没有问题。

然后我尝试从命令行运行它:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" 
D:\ServiceInstaller\xxxServiceInstaller.vdproj /build

而且它不会产生任何东西。我在尝试做一些不可能的事情吗?

当然有各种各样的长期解决方案,例如 TopShelf、AdvancedInstaller、WIX 等,并带有不错的 Jenkins 插件,但现在如果我能完成这项工作会很好。

【问题讨论】:

我也尝试将它作为解决方案的一部分运行 .sln - 没有结果 【参考方案1】:

我已经制作了以下批处理文件来调用解决方案文件参数:

CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat"
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe"
devenv /rebuild "Release|Win32" %1

还要确保在 Visual Studio 配置管理器中启用安装构建。

【讨论】:

以上是关于使用 VS2017 安装程序项目从命令行运行 vs2017 DevEnv的主要内容,如果未能解决你的问题,请参考以下文章

VS2017RC 安装程序清单签名验证失败 怎么解决

VS2017安装认证失败

VS2008怎么用??

UWP应用程序无法在VS 2017中运行

从命令行构建一个VS2003项目而不输出警告

VS2008如何将C#写的Winform程序打包成安装包?