You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Inno Setup 6.4.0是否更改压缩算法?安装包体积大于6.3.3版本

Inno Setup 6.4.0压缩率下降的原因及解决方案

在使用相同LZMA2压缩参数的情况下,6.4.0版本生成的安装包体积大于6.3.3及更早版本,核心原因是版本间的压缩默认行为变更,以下是具体分析和解决办法:

1. 固实压缩的文件排序逻辑变更

  • 6.3.3及更早版本默认使用深度相似性排序(SolidCompressionSortMethod=1):会按文件类型、内容相似性对文件分组,最大化固实压缩的冗余数据利用率,从而提升压缩率。
  • 6.4.0版本为了加快编译速度,默认改为快速目录排序(SolidCompressionSortMethod=0):仅按目录结构排序,文件分组的冗余度降低,直接导致固实压缩效果下降。
  • 解决办法:手动添加SolidCompressionSortMethod=1,强制恢复旧版本的排序逻辑。

2. LZMA2压缩库的优化优先级调整

6.4.0升级了内置的LZMA2压缩库,默认优化方向从极致压缩率转向编译速度。即使你指定了ultra64级别,新库的默认策略仍可能在小字典、小块大小的配置下牺牲部分压缩率换取速度。

  • 解决办法:添加LZMAOptimizeFor=size参数,明确告知编译器优先追求压缩体积。

3. 其他可能影响压缩率的隐性设置

  • EnableLargePages:6.4.0默认开启该参数提升编译性能,但部分环境下可能干扰压缩算法的最优执行,可尝试设置EnableLargePages=no。
  • CompressionForce:如果存在部分文件被自动跳过深度压缩的情况,可添加CompressionForce=yes强制对所有文件应用指定的压缩参数。

调整后的完整配置示例

Compression=lzma2/ultra64
SolidCompression=yes
SolidCompressionSortMethod=1
LZMABlockSize=262144
LZMADictionarySize=1048576
LZMANumFastBytes=273
LZMAUseSeparateProcess=yes
LZMAOptimizeFor=size
EnableLargePages=no

内容的提问来源于stack exchange,提问作者Drakul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 20:02:07