生成WIX创作文件以在单个组件下包含多个文件

时间:2018-10-16 14:25:35

标签: wix heat wix3.10

我们正在使用heat可执行文件来生成创作文件,其中为每个文件创建一个唯一的组件。有没有一种方法可以在单个组件下包含多个文件。

预期结果:

<component Id="samplecomponent"  Directory="INSTALLFOLDER" Guid="*">
   <File Id="file1.txt" Source="$(var.Sourcedir)\file1.xml" />
   <File Id="file2.txt" Source="$(var.Sourcedir)\file2.xml" />
   <File Id="file3.txt" Source="$(var.Sourcedir)\file3.xml" />
</Component>

1 个答案:

答案 0 :(得分:1)

石蜡3.131版本可帮助您为每个组件创建多个文件,但是请阅读下面的免责声明(以及上面注释中的链接)。

应该注意的是,出于充分的原因,此功能可能已从Paraffin中弃用(据我所知,它从未在WiX自己的heat.exe中见过),因为它倾向于进行小幅升级和修补,几乎无法采用。这与MSI的整体复杂性有关-特别是在升级方面。 Paraffin可能会因为其他原因而弃用该功能,例如,维护太复杂。我不知道。

我总是更喜欢每个组件一个文件-它避免了各种问题(对于patchingupgradesself-repairetc...)。以下是一些技术详细信息:Change my component GUID in wix?

不过,Santhosh has problems with a package that is so large that its installation performance is too slow, even after having applied a number of tricks to speed it uplimit costinguse admin image等…-请参见链接)。在这种情况下,我的首选替代方法是将软件包拆分为多个MSI文件,并依次使用引导程序进行安装-例如,使用WiX的Burn bootstrap。当然,这并不总是可以接受的。有时单个MSI至关重要。