我有一个包含大量文件的项目。在我们的软件版本之间,会添加新文件,并删除一些文件。因此,在自动化构建过程时,我希望热量自动生成 .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/