系统清理与优化工具 v1.03
[v1.03] - 2026-08-11
相对 v1.02 的源码变更:三遍代码审查发现项修复 + 代码清理(详见 code-fix-2026-08-11.md)。
🐛 修复
- 安全加固(信任边界):MAS 激活改走系统目录完整路径
powershell.exe+-EncodedCommand,消除 PATH 劫持风险;Chocolatey OData 过滤的id加白名单^[A-Za-z0-9.\-]+$校验;Office 部署 XML 中pid/channel用户值用SecurityElement.Escape转义;WebView2 引导程序与 Office 安装包下载加存在性与非空校验,避免对损坏文件静默执行。 - 健壮性:维护工具依赖检测异常由空
catch{}改为Debug.WriteLine可见日志,不再把检测异常误报为 Node 未安装;ProbeBrowserHost同步异常路径经TaskCompletionSource传播,避免调用方.GetAwaiter().GetResult()永久挂起。
🔧 变更 / 清理
- Dialog 脚手架复用:标题栏与错误提示公共逻辑提取到
DialogChrome(新增ShowError/BuildTitleBar),3 个 Dialog 复用,减少重复;删除Theme.cs冗余Debug.WriteLine、死文档注释、冗余列宽赋值。 - Tier3 勾选大小求和修复:原写法在非连续勾选时会错位,改为索引对齐配对遍历。
- 注册表 Dword 读取模板统一:多处
try{OpenSubKey...is int v}模板收敛为RegistryHelper.GetDwordState。 - 关于页更新体验增强:检测到新版本后新增「下载更新」按钮,支持自选保存路径下载新 exe;更新日志区域增加
ScrollViewer并限制最大高度,避免版本增多后卡片无限拉长。 - 更新下载健壮性修复:下载直链改由 GitHub API 返回的
browser_download_url取得(避免本地拼中文资产名与线上实际英文名不一致导致 404);下载增加系统代理 → 直连 →127.0.0.1:26561三层自动回退,解决无代理环境下连接 GitHub CDN 失败的问题。 - 版本号规范化:v1.02 → v1.03,同步 6 处。