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

如何配置Inno Setup安装包全量完整性校验,提前识别文件损坏问题

Inno Setup安装包全量完整性校验实现方案

对应报错场景:安装过程中弹出如下错误提示
安装错误提示

尝试复制文件时出错:源文件已损坏

该报错为安装包文件损坏触发的原生校验提示,默认校验逻辑在文件复制阶段触发,可通过调整Inno Setup原生配置将校验时机提前到安装初始化阶段,无需手动开发哈希校验逻辑。

方案1:开启固实压缩实现提前校验

默认非固实压缩模式下,仅当读取到损坏的对应文件块时才会触发报错,在[Setup]段开启固实压缩即可大幅提前校验时机:

[Setup]
SolidCompression=yes

开启后所有打包文件会合并为单个压缩块,只要安装包任意位置出现损坏,安装程序初始化解压首个块时就会触发损坏提示,不会等到文件复制阶段才报错,是最轻量的原生实现方案。

方案2:叠加数字签名实现最严格全量校验

如果需要同时防范文件损坏和恶意篡改,可在编译阶段为生成的安装EXE添加正规数字签名,同时添加如下配置:

[Setup]
; 启动时校验安装包自身的数字签名有效性,文件被篡改/损坏会直接拦截启动
VerifyDigitalSignature=yes

开启后安装程序启动时会优先校验自身PE签名的完整性,只要整个EXE文件有任何修改都会直接提示签名无效,终止安装流程,完全符合启动即全量校验的需求。

补充说明

逐文件哈希校验(触发「源文件已损坏/SHA-1哈希不匹配」报错的逻辑)本身就是Inno Setup原生自带的能力,仅默认触发时机靠后,调整以上配置即可满足需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:24:05