WiX:如何混合手动生成和自动生成的 .wxs 内容?

标签 wix windows-installer auto-generate wix3.8

我有一个包含大量文件的项目。在我们的软件版本之间,会添加新文件,并删除一些文件。因此,在自动化构建过程时,我希望热量自动生成 .wxs文件(我们称之为 files.wxs )。

但是也有一些手工生成的项目,例如 <product>元素及其关联版本和 <environment>我们需要设置的环境变量的标签。这些永远不会改变(版本号递增除外)。现在,我已将所有这些内容放入名为 product.wxs 的文件中。 。

如何才能最好地将它们合并到一个 .msi 中?我需要创建一个 <component> <product> 内的元素files.wxs 中自动生成的每个片段的元素文件?如果是这样,那就违背了自动生成该文件的目的。我希望还有另一种方式。

救命啊!谢谢,提前。

最佳答案

我工作的安装程序有手动和热生成的代码,我们的处理方式是:

脚本构建目标文件结构,即将安装的所有文件都复制到临时目录,模仿它们在目标计算机上的结构

然后在该目录结构上执行 Heat.exe,并将其输出到文件。

然后,我们应用一些转换,因为我们的安装程序中有多种功能(尽管如果您的安装程序只是一项功能,您可以使用 Heat.exe 创建的单个 ComponentGroup),转换会根据目录结构将组件分组到 ComponentGroup 中.

手册文件仅引用组件组。

如果添加或删除文件,则会在脚本上完成工作(如有必要,部分脚本只会获取整个目录)。构建安装程序时,会自动为该文件生成一个新组件,并通过转换将其添加到适当的组中。无需任何工作,因为该组已在手册文件中引用。

关于WiX:如何混合手动生成和自动生成的 .wxs 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24659635/

相关文章:

ASP.net 不为某些用户代理生成 javascript

添加/删除程序中的 Wix 图标

silverlight - 从 UserControl 抽象子类继承

powershell - 安装其他安装程序?

c# - 动态创建VS Project

windows-installer - 如何在卸载时检索 MSI 属性的值?

testing - 模拟 Windows 安装程序

android - 防止android studio在xml文件中创建多个标签

wix - 错误 2753 特征树..如何避免?

维克斯/微星 : Unable to uninstall