使用 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的主要内容,如果未能解决你的问题,请参考以下文章