公开预览 · 注册及正式收款尚未开放。
Anti-AIClonePILOT

日志日期 · 周六

electron-builder 26.17.0:更新链路的变化

electron-builder 26.17.0(2026-09-26)新增 NSIS store-asar 模式并修复差分更新,更新链路需重新测试。

当天发生了什么

2026-09-26 09:52(UTC),electron-builder 在 GitHub 发布了 electron-builder@26.17.0,除发布提交外,各项变更均为 v26 分支的回移。发布说明列出:NSIS 新增「store-asar」模式,用于按比例的差分更新(#10201);electron-updater 让缓存的 blockmap 与缓存的安装包保持一致(#10163);多段范围的差分下载可以在真实服务器上正常工作(#10219);pkg 为 macOS 26 安装器提示新增 rootVolumeOnly(#10211);修复 linux.files 损坏 Flatpak 文件(#10229);以及若干 pnpm 依赖收集和 Windows 下工作区根目录识别的修复。发布页只给出了 store-asar 的拉取请求标题,没有说明它的具体工作方式、配置方式和取舍,需要查看对应 PR 或文档才能确认。

对 Electron 应用保护意味着什么

asar 只是归档格式,这一点已有专门指南,这里不再重复。这次发布值得关注的是更新链路。保护 Electron 应用的团队常常在构建之后对 app.asar 做额外处理,例如计算完整性哈希、替换为加固后的版本,或在启动时校验文件。安装包里 asar 的存放方式和差分更新的计算方式一旦改变,这些后处理步骤的前提就可能不再成立:哈希可能针对的是旧布局,差分补丁也可能与后处理后的文件不一致。缓存 blockmap 与安装包不一致这类问题本身就会影响更新是否正确落地。需要诚实说明:我们没有从发布页获得 store-asar 的实现细节,因此不能断言它会破坏任何具体方案,只能说这是一个需要实测的变化点。

可以在自己的构建上做的检查

第一,如果对 app.asar 做构建后处理,在启用 store-asar 模式前阅读对应 PR,并在测试通道完整验证一次「安装、差分更新、启动校验」的全流程。第二,在 Windows 上确认更新包与安装器仍有有效的代码签名,且 electron-updater 的签名校验没有被关闭。第三,用真实的更新服务器而不是本地文件服务测试多段范围下载。第四,在发布前比较新旧版本安装后 resources 目录的文件清单与哈希,确认与预期一致。

行动清单

  • 启用 store-asar 前阅读 PR 并在测试通道验证全流程
  • 确认更新包签名有效且更新器签名校验已启用
  • 比较安装后 resources 目录的文件清单与哈希

原始资料

全部原始资料与转载状态 ↗