我们希望从Visual Studio 2008中的Web部署项目创建.MSI包。
现在我们想要使用持续集成,我们需要在每晚构建中构建.MSI包
到目前为止我们使用的是标准的Visual Studio Web Setup项目,但这与MSBuild不兼容。所以我们决定使用WiX
问题是我没有找到任何关于此的好教程/文档。
有没有办法从Web部署项目中执行WiX安装程序包?如果是,怎么样?
此外,我尝试使用heat.exe为WiX项目.wxs文件创建XML,但似乎heat.exe无法识别Web部署项目格式。
感谢您的回复
问候,
诉
答案 0 :(得分:3)
我最近写了一篇关于此事的博客文章 - http://www.chrissurfleet.co.uk/post/2011/07/01/Using-Packaged-Project-Output-in-WiX-and-Visual-Studio.aspx
简而言之,它非常容易使用msbuild打包您的Web应用程序,然后将其传递给加热以生成安装程序。
希望这有帮助。
答案 1 :(得分:1)
您可能很久以来就找到了解决方案,但是要详细说明Tom Cabanski的答案,您可以调用Visual Studio在命令行上使用“devenv.com”通过构建中的外部进程构建msi 。它不像使用msbuild那样漂亮,但它完成了工作。下面是如何调用Visual Studio的示例:
“C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ devenv.com”your.sln / build Release
其中your.sln是您要构建的解决方案的解决方案文件,Release是您要构建的配置,确保您选择的配置实际构建vdproj项目。
成功执行后,您可以从相应配置的bin中获取msi,并使用它执行所需的操作。
我很感激你对你的发现/方法的回应,因为我正在尝试决定是采用WiX还是InstallShield作为在TFS Build中构建msi for Web Applications的方法,或者继续我的方法I刚刚描述过。我没有机会尝试使用WiX,而且我对InstallShield的非常有限的接触表明,这远远不能满足我的需求,即为公司内部网提供一些简单的部署辅助工具,用于一些相对简单的Web应用程序通过TFS Build。
答案 2 :(得分:-2)
我们在最后几个项目的安装程序中使用了WIX,最后对此感到后悔。我会坚持使用VS内置项目,只需从CI构建中的命令行调用VS IDE。