github javaht/claude-desktop-zh-cn 1.4.20

4 hours ago

亮点与主要变更

本版本修复 Windows 端 Claude Desktop 4.4212+ 安装补丁后应用无法启动 的问题(Issue #225),同时保持对旧版本的完全兼容。


1. 支持 JSON 转义形式的 ASAR 完整性标记(合入 #226 by @Oct1AtJoe,修复 #225)

问题背景:Claude Desktop 4.4212 把 Claude.exe 里内嵌的 ASAR integrity 记录改成了带 "file": 前缀的 JSON 对象形式:

旧:resources\\ion-dist.asar","alg":"SHA256","value":"<hash>"
新:{"file":"resources\\ion-dist.asar","alg":"SHA256","value":"<hash>"}

旧安装器按固定字符串查找,在 4.4212 上命中 0 次,Sync-ClaudeExeAsarIntegrity 抛异常。更严重的是:失败发生在 ion-dist.asar 已解包、汉化、重打包并写回磁盘之后,导致 asar 与 exe 内嵌哈希不一致,应用启动时完整性校验失败、直接打不开。

修复内容:

  • 新增 Get-ClaudeExeIntegrityMarker,按优先级探测所有已知标记形态:
    1. {"file":"resources\\<name>","alg":"SHA256","value":" — 4.4212+
    2. resources\\<name>","alg":"SHA256","value":" — 旧版双反斜杠
    3. {"file":"resources/<name>","alg":"SHA256","value":" — 正斜杠变体
    4. resources/<name>","alg":"SHA256","value":" — 正斜杠裸路径
  • 保留原有的唯一性检查与边界校验,命中后哈希写回逻辑不变;
  • 新增 JSON 转义格式的回归测试,旧格式测试继续保留。

验证:

  • 真实 4.4212 exe 只读探测:新旧标记均正确定位,内嵌哈希与 SHA256(HeaderString) 一致;
  • 新增 ASAR 完整性测试用例通过,Windows / Ubuntu CI 全部通过。

已知遗留(非本版本回归,后续跟进):

标记定位仍发生在 asar 重打包之后。若未来标记格式再次变化,仍可能出现「asar 已改、exe 未同步」的半坏状态;更稳妥的做法是在解包 asar 之前先校验标记,失败即零副作用退出。


验证与测试

  • Python 回归测试 16 项全部 PASS;
  • Windows PowerShell 5.1 / PowerShell 7 六个脚本测试全部 PASS;
  • git diff --check 无格式问题。

Don't miss a new claude-desktop-zh-cn release

NewReleases is sending notifications on new releases.