Skip to content

TaskBarWidgets 261022-1945 — 跨版本更新兼容修复

Choose a tag to compare

@NoctisWang528 NoctisWang528 released this 22 Oct 11:50

版本说明

本版本包含已撤回的 261022-1921 全部更新内容,并修复其无法从 261022-1616 等旧版本通过应用内更新升级的问题。261022-1945 取代并替代 261022-1921。

本次修复

  • 修复旧版客户端创建 protocolVersion: 1 更新作业后,新版更新健康检查拒绝该作业并自动回滚的问题。
  • 新版主程序只在升级启动阶段兼容旧版更新作业;新版更新器创建和执行的后续作业仍严格使用 protocolVersion: 2。
  • 已回滚的旧更新作业不再阻止新版启动;仍处于安装中的旧作业仍会保留恢复保护。
  • 261022-1616 用户现在可以直接通过应用内更新升级到本版本。

撤包版本包含的更新内容

单目录数据布局

  • 便携版运行数据统一到 <安装目录>\Data\,不再将 %APPDATA%\TaskBarWidgets 作为运行数据目录。
  • 配置按写入者分开保存:Data/config/app.ini、battery.ini、power.ini、weather.ini、media.json。
  • 不可重建歌词数据位于 Data/lyrics/;可重建缓存位于 Data/cache/lyrics/。
  • 日志、迁移归档和备份分别位于 Data/logs/、Data/migration/、Data/backups/。
  • global_cfg.ini 只作为旧版迁移输入,迁移后归档,不再作为模式开关使用。

自动迁移

  • 首次启动会检查旧安装目录布局和旧 AppData 数据,目标新文件优先且绝不覆盖。
  • 冲突文件和旧来源归档到 Data/migration/archive/<UTC时间>/。
  • 迁移先暂存并校验 JSON、INI、流量文件和 SQLite 完整性,全部通过后才提交。
  • 迁移失败会回滚本次变更并阻止启动,不静默使用旧配置或旧数据回退。

天气凭据

  • 天气 AppKey 使用当前 Windows 用户的 DPAPI 加密,保存到 Data/secrets/weather-appkey.bin。
  • 活动 weather.ini 不保留明文 AppKey;空输入保持原密钥,显式清除才会删除密文。
  • 旧 WeatherPro.ini 会原样归档,归档中可能仍有明文 AppKey,请勿公开或分享迁移归档。
  • 跨用户或跨机器恢复时 DPAPI 密文无法使用,需要重新输入天气密钥。

数据与备份

  • “常规 → 数据与备份”新增数据根、布局版本、迁移结果、各类占用、密钥状态和待恢复状态。
  • 提供打开数据目录、立即备份、恢复备份、重新导入旧数据和清理可重建缓存。
  • 手动备份包含配置、流量历史、不可重建歌词数据、布局文件和 DPAPI 密文。
  • 备份排除缓存、日志、迁移归档、其他备份、临时文件和 SQLite -wal/-shm。
  • 恢复会校验路径、大小和哈希;冷启动前自动生成 pre-restore-latest.zip,失败时回滚。

更新与发布

  • 更新器使用 protocolVersion: 2,只接受 <安装目录>\Data 作为统一数据根。
  • 发布 ZIP 和 app-files.json 不包含 Data、备份、迁移归档、日志或天气凭据。
  • 更新前保留配置、历史、不可重建歌词数据、密钥密文和布局文件;缓存、日志、归档和备份不进入更新回滚包。

升级注意事项

  • 当前 261022-1616 可以直接使用应用内更新升级。
  • 已经手工安装 261022-1921 的用户应更新到本版本。
  • 首次启动可能执行一次数据迁移;建议升级前自行备份旧安装目录和旧 AppData 数据。
  • 手工升级时请使用完整 ZIP,保留安装目录中的 Data\,不要单独运行 Media 或 UI 辅助程序。

运行要求

  • Windows 11 x64。
  • .NET 8 Desktop Runtime x64,安装最新 8.0 补丁。
  • Windows App Runtime 2.5.1 x64 或兼容的更新 2.x。
  • 仅需运行库,不需要开发 SDK。

附件

  • TaskBarWidgets-261022-1945-win-x64.zip:完整便携发行包。
  • SHA256SUMS.txt:ZIP 校验值。
  • update.json:应用内更新元数据。

本 Release 的 ZIP 不包含个人配置、流量历史、歌词数据库、缓存、日志、迁移归档或天气密钥。运行后产生的个人数据请勿公开分享。