我们正在使用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>
答案 0 :(得分:1)
石蜡3.131版本可帮助您为每个组件创建多个文件,但是请阅读下面的免责声明(以及上面注释中的链接)。
应该注意的是,出于充分的原因,此功能可能已从Paraffin中弃用(据我所知,它从未在WiX自己的heat.exe
中见过),因为它倾向于进行小幅升级和修补,几乎无法采用。这与MSI的整体复杂性有关-特别是在升级方面。 Paraffin可能会因为其他原因而弃用该功能,例如,维护太复杂。我不知道。
我总是更喜欢每个组件一个文件-它避免了各种问题(对于patching
,upgrades
,self-repair
,etc...
)。以下是一些技术详细信息: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 up(limit costing
,use admin image
等…-请参见链接)。在这种情况下,我的首选替代方法是将软件包拆分为多个MSI文件,并依次使用引导程序进行安装-例如,使用WiX的Burn bootstrap。当然,这并不总是可以接受的。有时单个MSI至关重要。