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



我们使用 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>

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

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

我总是喜欢每个组件一个文件 - 它避免了各种问题(对于patchingupgradesself-repairetc...(。以下是一些技术细节:在 wix 中更改我的组件 GUID?

但是,Santhosh存在一个如此大的软件包的问题,以至于它的安装性能太慢,即使应用了许多技巧来加速它(limit costinguse admin image等 - 见链接(。在这种情况下,我的首选方法是将软件包拆分为几个MSI文件,并按顺序使用引导程序安装它们 - 例如使用WiX的刻录引导程序。当然,这并不总是可以接受的。有时,单个MSI至关重要。

最新更新