Releases: dandelion80231/System-Cleanup-Optimizer
Releases · dandelion80231/System-Cleanup-Optimizer
Release list
系统清理与优化工具 v1.04
相对 v1.03 的主要变更(v1.04)
相对 v1.03 的源码变更:Edge 组策略双 hive 修复 + WYSIWYG 应用策略 + 清理降级 + 更新下载代理回退。
🐛 修复
- Edge 优化「恢复不掉」根因修复(两层):①
Tweaks.cs前 4 个 Edge 优化项(欢迎页/标签页性能检测/新标签页资讯/个性化广告)的Disable原误写成「设值 0/1」而非「删除策略值」,Edge 检测到有值即视为「由组织管理」而恢复不掉;改为DeleteEdgePolicy彻底删除。②ApplyChecked原只对勾选项做启用、不处理取消勾选项,导致「取消勾选 + 开始优化」什么都不做;改为 WYSIWYG 全量纳入。 - Edge 组策略双 hive 彻底清除:
RegistryHelper新增EdgePolicyHives(HKCU + HKLM)辅助块(SetEdgePolicy/SetEdgePolicyRecommended/DeleteEdgePolicy/DeleteEdgePolicyRecommended/DeleteEdgePolicyTree/GetEdgePolicyState/GetEdgePolicyRecommendedState)。仅清 HKLM 会因 HKCU 残留而清不掉「由组织管理」状态,现统一双 hive 操作。EdgeCore的BlockEdgeUpdate/RestoreEdgeUpdate/SetStartupBoost/IsStartupBoostEnabled同步迁移到双 hive。DeleteKeyTree增加「键不存在即视为成功」前置判断,避免 HKCU 无 Edge 键时的误报[!] 删键失败。 - 系统信息版本显示本地化:
Modules/SystemInfo.cs按CurrentBuild判断 Windows 代际(11/10/8.1/8/7),并将EditionID与ProductName中的版本片段映射为中文(如ProfessionalWorkstation/Pro for Workstations→ "专业工作站版");原英文Build:改为中文版本号:。映射表已覆盖 Windows 10/11 全部主流版本(含 N / S(LTSC) / S 模式 / IoT 企业版 / 服务器 / 多会话),并按键长降序匹配避免短片段误命中。映射缺失时优雅降级为英文原文,绝不报错。
♻️ 变更 / 策略
- WYSIWYG 应用策略(勾选即优化、取消即还原):底部「开始优化」按钮按当前勾选状态应用【所有】项——勾选=启用优化(On),取消=还原系统默认(Off);三态项的不确定=交还系统默认(Default)。因此「取消勾选 + 开始优化」即可单独还原某项,无需动用「还原所有项」误伤其它优化项。顶部说明文案同步更新。
- Edge 优化首次勾选提示:首次勾选「Edge优化」组任一项时弹 YesNo 提示,说明组策略副作用(edge://management 显示「由你的组织管理」为固有表现,非故障),本次会话仅提示一次。
- 清理兜底降级:
Cleanup.cs删除失败改用Exec.RunPowerShellGetFull捕获 stderr/exitCode;「文件正被另一进程使用」属预期(程序运行中),降级为安静[SKIP]提示,不再刷[PS-ERR]噪声;其余真实错误仍如实暴露。 - 版本切换下拉默认本机版本:
vsTargetCombo默认选中当前系统EditionID,不再固定首项。 - 更新下载代理回退增强:
DownloadStringWithProxyFallback/DownloadFileWithProxyFallback依次尝试 系统代理 → 直连 → 本地常见回环代理端口 三层自动回退;DownloadUpdate改为async/await替代原Task.Run+while(IsBusy) Sleep忙等轮询。 - 版本号规范化(恢复两段式):v1.03 → v1.04,统一回到本项目两段式惯例
vX.YY(历史 v1.01 / v1.02 / v1.03 均为两段;上一版误用三段式v1.0.4导致「检查更新」段位错位误报「已高于线上」)。同步 csproj(1.0.4.0,内部程序集版本保持不变)/APP_VERSION(v1.04);交付文件名系统清理与优化工具_v1.04.exe。CompareVersion保留NormalizeVersion防御层(两段且第二段≤9 自动补 0),杜绝日后混用。
系统清理与优化工具 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 处。
系统清理与优化工具 v1.02
[v1.02] - 2026-08-11
相对 v1.01 的源码变更面:14 个文件修改(+1093 / −667 行),新增 2 个源码模块与 1 个构建资源。
🐛 修复
- WebView2 探针初始化 20s 超时(终极根因修复):死锁点位于
SetupCdp()在 UI/STA 线程上同步阻塞等待 CDP 响应,而响应需经同一线程消息循环回派 → 永久死锁 → 超时。改为async Task SetupCdpAsync()+await,端到端验证SearchAsync("7-zip")返回真实直链成功。 - qq 抓取候选列表噪音:原列表会出现
SKIP(非安装包.js)与404死链。在ProbeEngine.BuildRows增加SKIP/404过滤,列表只展示可用的真实 exe 直链。 - PowerShell 调用统一化:Tweaks / RestorePoint / OtherTweaksDialog / EdgeCore / Theme / Activation 等模块的
powershell -Command调用统一迁移到Exec.RunPowerShell/RunPowerShellGet(底层-EncodedCommandBase64 Unicode),消除引号/中文路径乱码与命令注入风险。 .gitignore行内注释 bug:git 不支持行内注释(仅行首#生效),runtimes/ # 注释整行被当模式导致规则失效;更严重的是!src/CpqSystemTool/src.zip # 注释取反失效会让构建必需的src.zip被*.zip错误忽略(克隆后报 CS1566)。改为独立#行后恢复正确忽略。
✨ 新增
- WebView2 官方 exe 直链探针模块:
Modules/ProbeBrowserHost.cs(独立 STA 线程 + WinForms 承载 WebView2,复用系统 Edge Runtime,主动扫描msedgewebview2.exe绕过损坏注册表)与Modules/ProbeEngine.cs(移植 official_exe_finder.js 的纯逻辑引擎)。 - 依赖管理 UI 增强(
MainWindow.Maint.cs,+363 行):Node + Playwright + Chromium 回退路径的安装 / 卸载与状态刷新;IsNodeDepsReady收口为统一就绪判定。
🔧 变更
- 版本号规范化:v1.01 → v1.02,同步 6 处(csproj 版本号 / app.manifest /
APP_VERSION/ 关于页更新日志 / README / build.bat)。 - 交付文件名带版本号:
系统清理与优化工具_v1.02.exe(保留 AssemblyName=中文名,仅部署文件名带版本,避免资源 URI 连锁修改)。 - 代码审查确认:Node + Playwright + Chromium 回退路径代码健康可用(本轮无代码改动,仅验证)。
系统清理与优化工具v1.01
系统清理与优化工具 v1.01
面向 Windows 10/11 的一体化系统清理、优化与维护工具(WPF / .NET Framework 4.8)。
主要功能
- 系统清理 / 优化(6 大类 34 项)
- 服务优化、Appx 管理、常用软件管理(内置 + 自定义 json)
- 隐私清理、Edge 管理、Defender 管理
- 系统激活(MAS,远程调用 GPL v3 脚本)
- Windows 版本切换(含 LTSC / IoT LTSC 证书注入)
- 防火墙规则、计量连接、系统信息、维护工具
- 配置导入 / 导出、自动保存
说明
- 以 Apache-2.0 协议开源,含 NOTICE 与第三方 OSS 声明。
- 激活功能调用第三方脚本 MAS(GPL v3),工具本身不打包、不修改该脚本。
- 内置微软 SKU 许可令牌(*.xrm-ms)仅用于本机版本切换所需的证书安装。
- 「检查更新」会比对 GitHub Release 的 tag 与本地版本号。
使用
直接运行「系统清理与优化工具.exe」。版本切换、激活、防火墙等功能需管理员权限。