微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于可重复构建的 Wix 工具集构建优化

如何解决用于可重复构建的 Wix 工具集构建优化

我对 wix 工具了解不多。

我有一个项目需要打包成很多msi包。文件数在700左右。每个msi包的区别主要在于架构(x86、x64)和一小部分可变资源(不超过5-10个文件)。

完整构建需要一个多小时。大部分时间被light.exe占用。

是否有可能以某种方式缓存工作结果以加快此过程,因为每个 msi 的不同之处在于最少的文件集?也许我应该以一种特殊的方式组织这些文件以使其成为可能?

解决方法

您可以为共享文件定义单个压缩文件,为独特的文件集定义单个压缩文件。使用使用定义的条件编译仅在 MSI 文件中包含选定的文件柜。

<Media Id="1" Cabinet="Shared.cab" CompressionLevel="high" VolumeLabel="Shared binaries." EmbedCab="no" />
<Media Id="2" Cabinet="Set1.cab" CompressionLevel="high" VolumeLabel="Unique files 1" EmbedCab="no" />
<Media Id="3" Cabinet="Set2.cab" CompressionLevel="high" VolumeLabel="Unique files 2" EmbedCab="no" />

<File> 元素上设置 DiskId="" 属性以将单个文件与目标文件柜相关联。

当输入文件在不同版本之间没有变化时,Light 应该能够使用缓存中的现有橱柜。

,

计算机和磁盘:显而易见的第一点:您是否在一台好计算机上使用快速磁盘?或者您是从网络中提取文件还是写入慢速磁盘? 700 个文件并不多。它们很大吗?您正在构建多少个设置?一个好的 SSD 或 NVME 磁盘应该会有所帮助 - 后面还有一些好的 CPU。

构建速度:我有关于构建优化的现有答案:Speed up Build-Process of WiX-Installer - 我建议您构建共享设置并通过 {{3 }} 包(Burn 构建可以安装嵌入式 MSI 文件或其他安装类型文件的 setup.exe 可执行文件)。您很少构建的单独 MSI 可以工作。 WiX Burn setup.exe

WiX 帮助文件Thoughts on setup cohesion and coupling

Cab Cache 和 wixlibs:请阅读:


链接:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。