1

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

当然,在 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 插件,但现在如果我能完成这项工作会很好。

4

1 回答 1

3

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

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 配置管理器中启用了安装程序构建。

于 2018-04-02T12:53:33.123 回答