2011-12-23 88 views
7

我在Visual Studio 2010下有一个Web应用程序解决方案。此解决方案的一部分是负责生成.msi安装程序的WiX项目。使用新创建的文件自动更新WiX安装程序

我是通过企图的WiX的教程阅读以了解如何自动收获文件时,我遇到以下:

http://wix.tramontana.co.hu/tutorial/com-expression-syntax-miscellanea/components-of-a-different-color

在维克斯的工具,热火用来收获从各种数据来源(文件夹,文件,DLL,ActiveX控件,性能计数器,网站),其中条目数量可能太大而无法手动创建相应的WiX源文件。它的主要目的是运行一次,以收集稍后在源文件的常规维护中使用的数据,而不是构建环境的一部分,在该环境中,它一次又一次地在不断变化的输入数据集上运行。如果您仍然希望以第二种方式使用它,则必须非常小心以确保输入中的更改不会引入不受欢迎的影响(主要是违反组件规则)。热确实有帮助你实现这个目标的功能,但使用它们时要小心。

看起来我不想使用它的主要功能,但教程只是提示我如何做我想做的事。

尝试自动维护由WiX安装安装的文件真的是一个糟糕的主意吗?我已经厌倦了某个人编写了新文件的破解版本,但忘记了通过引用该新文件来更新WiX安装程序。

其他人如何处理这种情况?

谢谢。

回复:挑逗 - 本教程指出'Heat确实具有帮助您实现此目标的功能',但我无法找到正在引用的功能。收获一个项目后 - 下一步是什么?热量是否会负责创建我将最终使用的.wxs文件 - 或者我应该只是使用这个文件列表并在事后创建一个更加完整的.wxs文件?

回答

4

我在我的ASP.NET Web应用程序中使用Heat来自动收集应用程序的所有文件。

它工作得很好。有一件事是,它每次运行时都会为这些文件生成一个新的ID,我相信这会让升级过程变得更加困难。您可能需要执行卸载,然后进行安装才能获得较新的文件。

自从我研究它之后,它已经有一段时间了,而且可能已经发生了变化。

+0

我们目前使用的.wxs文件比其中的文件更多。然而,热量会生成一个.wxs文件。我应该使用一个.wxs文件并使用它生成另一个wxs文件?安装结构不会模仿项目中的文件结构 - 我们为每个文件定义“源”属性。我知道我可以通过传递cmd行参数来加热一些文件的位置,但这看起来不够。我有热量收获一个项目 - 但是。wxs文件与我们目前的.wxs完全不同。 – 2011-12-23 02:19:40

+0

请参阅http://stackoverflow.com/a/8598296/351614。由热量生成的输出仅适用于您需要的文件,您仍需要有关安装程序的各种元数据的其他wxs文件。将热量输出看作是您的主要Proudct.wxs参考的类以及加热文件的内容可以改变的类。就目录结构而言,如果你有特定的需求,你可能会得到你的msbuild/cmd-fu,并以这样的方式编写脚本,以便生成你想要的目录结构。 – 2011-12-23 02:25:26

+0

This http://www.codeproject.com/KB/install/asp_wix.aspx可能会给你一个更好的想法,它是如何工作的,并且所有的东西都在一起 – 2011-12-23 02:29:29

相关问题