Repository navigation
v2.4.6
JSecProbe v2.4.6 更新内容
本次是一个紧急修复版本,解决 v2.4.2 ~ v2.4.5 用户下载更新成功但安装失败的问题。建议所有用户升级。
修复
-
修复:更新下载完成后提示「启动安装包失败」
根因是安装包缺少数字签名。安装前的 Authenticode 校验原逻辑为「非 Valid 一律拒绝」,而本项目目前没有代码签名证书,
Get-AuthenticodeSignature始终返回NotSigned,导致自管理更新源(GitCode / Cloudflare R2)下载来的安装包 100% 被拦截。现改为分级处置,只拦截真正意味着「文件被改动」的状态:
签名状态 处置 Valid/ValidButExpired(有签名,证书过期)放行(过期仅告警) NotSigned(未签名)放行并写告警日志 HashMismatch/NotTrusted/NotSignatureFound/Malformed/InvalidSignature/UnknownError拒绝执行 同时保留了两个开关:
JSECPROBE_REQUIRE_INSTALLER_SIGNATURE=1(将来拿到签名证书后强制校验)、JSECPROBE_SKIP_SIGNATURE_CHECK=1(排查时临时跳过)。 -
修复:需要管理员权限的安装包无法启动
安装包清单要求提权时,
CreateProcess无法完成 UAC 提升(错误ERROR_ELEVATION_REQUIRED,errno -740),原先直接判定失败。现自动改用ShellExecute(RunAs)路径,由系统正常弹出 UAC 窗口。 -
修复:安装失败提示过于笼统
原先无论何种原因都只显示一句「启动安装包失败,请稍后重试」。现在会把真实原因带出来(例如具体的签名状态、提权失败原因),便于一眼定位。
升级说明
重要:执行安装动作的是当前正在运行的旧版本客户端,因此本次修复无法直接拯救存量客户端。
- 若你在 v2.4.2 ~ v2.4.5 上已经遇到「启动安装包失败」:请先手动下载安装一次 v2.4.6(GitHub Releases / GitCode /
https://data.semove.ccwu.cc),此后的自动更新即恢复正常。 - 若暂时无法手动安装,可以设置环境变量
JSECPROBE_SKIP_SIGNATURE_CHECK=1后启动程序作为应急手段。
兼容性
数据库结构无变更,可直接覆盖升级;首次启动仍会自动备份数据文件。