如何为 Visual Studio 2010 解决方案 w/o Visual Studio 2010 创建 msi 文件?

How to create a msi file for a Visual Studio 2010 solution w/o Visual Studio 2010?

我们有一个旧的 Visual Studio 2010 windows 表单应用程序,里面有一个安装项目来创建 msi 文件。这是我们在 Jenkins 中调用的命令:

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com" "%WORKSAPCE%\RepoManager-v3-TIB3-dev\RepoManager.sln" /build "Release|x86"

现在我们只在构建服务器上安装了 VS 2013。我们可以像这样使用 2013 构建解决方案,但不会创建 msi 文件。我们知道它不再受支持。

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.com" RepoManager.sln" /build "Release|x86"

我的情况是我们没有资源将整个解决方案迁移到 2013 年,它很大。那么我们创建msi文件的最佳方式是什么?

[6月17日添加]按照PhilDW的建议,我安装了Installer Project extension to 2013,在Programs and Features中显示为"Visual Studio Installer Extension for Microsoft Visual Studio 2013"(How to find it in the file system? where it installed to?) 现在构建时出现这个错误,msi文件还是没有生成。

------ Starting pre-build validation for project 'Setup2.0_Prod' ------ 
ERROR: An error occurred while validating.  HRESULT = '8000000A'
------ Pre-build validation for project 'Setup2.0_Prod' completed ------
15>------ Build started: Project: Setup2.0_Prod, Configuration: Release ------

VS 2013 和 2015 支持安装项目。您是否安装了安装程序加载项?

https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9

加载项有 2013 版安装程序,也许这就是您所需要的。

https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d

不要求使用某些 Visual Studio 版本生成的代码必须与相同 Visual Studio 版本的安装项目一起安装。 MSI 安装程序不关心文件的来源,因此您可以使用 VS 2010、VS 2013 或 VS 2015 安装程序项目加载项来构建 MSI 安装程序。你的 post 说 MSI 文件不是用你的 VS 2013 构建创建的,所以有两个可能的答案:

  1. 当解决方案构建时,您的设置未标记为构建 - 默认设置似乎是默认情况下不构建安装项目。

  2. 您还没有在 VS 2013 安装程序中安装安装程序项目插件。

最后我想通了,最简单的解决办法是: 1. 安装 VS 2013 的扩展。 2. 添加注册表项:An error occurred while validating. HRESULT = '8000000A'