3

我们想从 Visual Studio 2008 中的 Web 部署项目创建一个 .MSI 包。现在我们想使用持续集成,我们需要在每晚构建中构建 .MSI 包。
到目前为止,我们使用标准的 Visual Studio Web Setup 项目,但这与 MSBuild 不兼容。所以我们决定使用 WiX。
问题是我还没有找到任何好的教程/文档。有没有办法从 Web 部署项目中执行 WiX 安装程序包?如果是,如何?
此外,我尝试使用 heat.exe 为 WiX 项目 .wxs 文件创建 XML,但 heat.exe 似乎无法识别 Web 部署项目格式。

谢谢你的回复。
问候,
V。

4

3 回答 3

3

我最近写了一篇关于这个的博客文章 - http://www.chrissurfleet.co.uk/post/2011/07/01/Using-Packaged-Project-Output-in-WiX-and-Visual-Studio.aspx

简而言之,使用 msbuild 打包您的 Web 应用程序,然后将其传递给 heat 以生成您的安装程序相当容易。

希望这可以帮助。

于 2011-07-04T13:05:52.143 回答
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 中为 Web 应用程序构建 msi 的方法,还是继续使用我刚刚描述的方法。我没有机会尝试 WiX,而且我对 InstallShield 的了解非常有限,这表明这远远不能满足我的需要,即为一些相对直接的 Web 应用程序生成一个简单的部署帮助到公司 Intranet通过 TFS 构建。

于 2010-05-31T17:34:47.097 回答
-2

我们在最近几个项目的安装程序中使用了 WIX,但最终后悔了。我会坚持使用 VS 内置项目,只需从 CI 构建中的命令行调用 VS IDE。

于 2010-04-13T14:41:29.950 回答