Repository navigation
TaskBarWidgets 261022-1945 — 跨版本更新兼容修复
版本说明
本版本包含已撤回的 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 不包含个人配置、流量历史、歌词数据库、缓存、日志、迁移归档或天气密钥。运行后产生的个人数据请勿公开分享。