Skip to content

v2.13.2 — 更新器加固:坏包先拦住,旧版本不再被装坏

Choose a tag to compare

@LeeRolling LeeRolling released this 26 Oct 18:01

修复:更新器先校验安装包,坏包不再把旧版本装坏

问题:v2.13.1 的更新失败不是安装包本身坏了,而是那台电脑下载到的是「半包 zip」——文件头仍是 PK、大小也超过 1MB,旧逻辑只看文件头就放行;等更新器把旧版本目录处理后,Expand-Archive 才报「找不到中央目录结尾记录」。此时旧版本插件已经不可用,只能靠更新器自动恢复。

v2.13.2 的改动

  • 宿主侧所有更新入口(自动下载 / 浏览器下载监听 / 手动选择安装包 / 启动更新器)都校验完整 zip:文件头 + 尾部中央目录结束记录(EOCD);自动下载还会按 GitHub 正式资产的 size 精确比对,坏包当场丢弃并自动换下一个镜像
  • 浏览器下载监听:文件大小不再变化但 zip 不完整时,等 20 秒仍未收尾就明确提示「下载的安装包不完整」,不会把半包当成完成
  • update-apply 启动外部更新器前再校验一次;坏包直接删除并提示「安装包不完整或已损坏,已删除,请重新下载」,不会再启动一个注定失败的更新窗口
  • 更新器 tools/update-apply.ps1 重写:先校验 zip(SHA256 写日志)→ 解压到 pkg.new → 校验 package.json 版本和必需文件 → 才把旧 pkg 备份成 pkg.old 并替换;安装器失败会自动恢复旧目录与配置,旧版插件不会被动坏
  • 更新日志多一份兜底:桌面写不进去时写到 ~/.dsh/boot-suite-updates/<版本>/,日志里带安装包路径、大小、SHA256
  • 测试:smoke-host 新增「截断 zip 被拒、坏包不落盘」2 条断言

升级建议

  • 已经能正常打开 2.13.x 的电脑:设置 → 启动动画 → 检查更新,或等自动更新提示
  • 之前更新失败、旧版本打不开的电脑:下载本页 dsh-boot-suite-win-V2.13.2.zip → 完整解压 → 双击包里的 安装.cmd,装完手动打开 DSH;不需要先修复旧版本
  • 本版不新增功能、不改用户配置/模板/背景图,只加固更新流程

资产

文件 大小 SHA256
dsh-boot-suite-win.zip 24,121,602 B 19F282ED59F5F6E9BADAE2B6B07447FF495382805E3950C8C21228C89DEC4D1A
dsh-boot-suite-win-V2.13.2.zip 24,121,602 B 19F282ED59F5F6E9BADAE2B6B07447FF495382805E3950C8C21228C89DEC4D1A
dsh-boot-suite.tgz(插件市场用) 21,001,842 B 6E403B55299D05AC0CCE0B5C6D94CB3E53D645450F92C5B77C4999BB8DC7D553

常见问题:第一幕那两个圈不转

现象:第一幕两个带缺口的圆环不旋转,但文字、进度、第二幕视频都正常。

原因:不是缺少运行环境,也不需要装显卡驱动或组件。系统关闭「动画效果」后,浏览器会收到 prefers-reduced-motion: reduce,插件按无障碍设计主动停掉第一幕圆环的旋转(「扫描线」转场同样会变成瞬间切换)。

解决:Windows「设置」→「辅助功能」→「视觉效果」→ 打开「动画效果」;或 右键「此电脑」→ 属性 → 高级系统设置 → 性能「设置」→ 选「让 Windows 选择」。完全退出 DSH(窗口 + 托盘)再重新打开即可。

如果那台电脑是通过远程桌面 / 远程控制软件在用,请先在本机直接登录状态下试一次:远程会话有时会把系统上报成「减少动画」。