gpt4 book ai didi

visual-studio - 加快 WiX-Installer 的构建过程

转载 作者:行者123 更新时间:2023-12-01 06:13:43 25 4
gpt4 key购买 nike

对于我的 Wix 项目,我通过 Visual Studio 的预构建事件收集了 4 个目录,这将产生大约 160 mb 的数据和大约 220 个文件,但构建过程花费了很长时间。

我怎样才能加快这个过程?我有一个嵌入式 media.cab 将保存所有文件的文件。是文件的大小还是数量会减慢进程的速度?或者是在预构建事件中使用加热工具进行收获?使用 HeatDirectory 元素会更快吗?

有没有人在加速这个方面有一些经验?

最佳答案

对我们来说,绝大多数时间都花在了调用 light 上。 (对于链接阶段)。light压缩机柜的速度非常慢。更改 DefaultCompressionLevel在来自 high 的 .wixproj 中至 mszip (或 lownone )有很大帮助。但是,我们的构建仍然太慢。
原来light独立处理橱柜,默认情况下自动在多个线程上链接它们。要利用这种并行性,您需要生成多个机柜。在我们的 .wxs Product元素,我们有以下将所有东西放在一个柜子里:

<MediaTemplate EmbedCab="yes" />
事实证明,您可以使用 MaximumUncompressedMediaSize属性来声明您希望文件自动分片到不同 .cab 文件的阈值(以 MB 为单位):
<MediaTemplate EmbedCab="yes" MaximumUncompressedMediaSize="2" />
现在 light速度要快得多,即使使用 high压缩,但对于增量构建(只有几个文件更改)仍然不够快。
回到 .wixproj 中,我们可以使用以下内容来设置文件柜缓存,这非常适合增量构建,其中文件更改很少且大多数文件柜不需要重新生成:
<CabinetCachePath>$(OutputPath)cabcache\</CabinetCachePath>
<ReuseCabinetCache>True</ReuseCabinetCache>
抑制验证也提供了很好的加速(默认情况下,light.exe 花费大约三分之一的时间验证 .msi)。我们为调试版本激活它:
<SuppressValidation>True</SuppressValidation>
通过这些更改,对于 32 MB .msi 输出,我们的最终(增量)构建从一分钟多到几秒,即使使用 high,完整重建也保持不到一分钟。压缩级别。

关于visual-studio - 加快 WiX-Installer 的构建过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30032014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com