常见问题
运行与权限
双击后没有任何窗口出现
WinTools 是单实例程序:如果已经有一个实例在运行(包括最小化到后台),再次启动会直接退出。请检查任务管理器里是否还有 WinTools.exe。
如果确认没有实例仍打不开,用命令行加环境变量启动,然后查看打点日志:
$env:WINTOOLS_TRACE='1'; .\WinTools.exe
# 日志:%LOCALAPPDATA%\WinTools\boot-trace.log为什么必须要管理员权限
功能管理(DISM)、驱动管理(DriverStore)、服务启动类型、计划任务、WIM 镜像捕获与释放都需要提升权限。程序清单里声明了 requireAdministrator,启动时由系统直接弹 UAC,无需手动右键。
杀毒软件报毒 / 被拦截
修改注册表、服务、驱动类的系统工具容易被启发式规则误报(尤其是单文件自解压版本)。可以:
- 使用框架依赖版(不会自解压到临时目录);
- 把程序目录加入杀软白名单;
- 代码完全公开,自行
dotnet build编译后使用。
清理与优化
清理后空间没释放多少
- 检查是否开启了"清理到回收站"(设置里),此时文件只是移动到回收站;
- 部分文件被占用,已登记为重启后删除,重启才会真正释放;
- 「系统更新缓存」等分类在下一次扫描时才会计入体积差异。
某个优化项应用失败
常见原因:
| 原因 | 处理 |
|---|---|
| 注册表项被系统保护(如 Defender 相关) | 关闭"篡改保护"后重试,或直接用系统设置 |
| 服务被占用/依赖服务未启动 | 先调整依赖服务的启动类型 |
| 需要重启才生效 | 应用成功后界面会提示"需重启" |
能一次性"全部优化"吗
可以,但不建议:33 项里包含对系统行为影响较大的条目(关闭休眠、关闭快速启动、暂停更新)。建议按分组逐组确认,应用后在「设置 → 系统」里感受一下再决定是否继续。
更新与功能
可安装补丁一直是空的
先确认系统自带的 Windows Update 能正常工作:
# 检查更新服务
sc query wuauserv若系统更新本身被策略/工具禁用,本工具也搜不到补丁。
卸载更新后它又装回来了
Windows 会自动重新安装缺失的安全更新。要阻止,需要在「设置 → Windows 更新」里暂停更新,或用组策略/隐藏更新(本工具不提供隐藏补丁功能)。
功能开关改了没反应
三点确认:① 必须是纯数字特性 ID;② 修改后需要重启;③ 系统累积更新可能重置这些值,需要重新设置。
运行管理
禁用了启动项,但任务管理器里还是"已启用"
本工具写的是同一份 StartupApproved 数据,正常情况会同步。若不一致,说明该项目来自 RunOnce 或启动文件夹 —— 这两类在任务管理器里可能不显示,属于预期差异。
服务改了启动类型为什么没立刻生效
sc config 会立即更新 SCM 的配置,但正在运行的服务不会因此停止。启动类型只影响下次启动的行为。
删除计划任务后后悔了
无法恢复。系统自带任务可以通过 sfc /scannow 或系统修复部分重建,第三方软件的任务需要重装软件。删除前建议先"禁用"观察一段时间。
驱动
删除驱动后设备不见了
用「安装驱动」重新安装之前备份的 inf,或让 Windows Update 自动匹配。因此删除前务必先「备份驱动」,网卡驱动尤其重要。
枚举出来的 oemNN.inf 和我看到的驱动名对不上
oemNN.inf 是 DriverStore 的内部发布名,原始名称(如 rt640x64.inf)才是厂商的 inf 名。删除时使用发布名。
备份还原
能不能把镜像直接还原到 C 盘
不建议。Windows 正在运行时系统分区被占用,无法完整覆盖,也不处理引导记录。整机还原请在 WinPE 里用 DISM 或本工具的便携版操作。
备份到一半取消了,会留下半个文件吗
会删除临时文件;但如果是 .esd / .swm(先捕获到临时 wim 再转换),转换阶段被取消可能残留 *.tmp.wim,手动删除即可。
增量备份可以无限追加吗
技术上可以,但单个 wim 内索引过多会让文件变大且释放时容易选错索引。建议按"系统大版本变更"分段,每个文件保留 3~5 个索引。
开发相关
编译报错找不到 .NET 10
需要 .NET 10 SDK(不是运行时)。dotnet --list-sdks 确认后重新 dotnet build。
为什么不用 WPF-UI 之类的 UI 框架
实测 WPF-UI 4.3 会让启动多花约 100 ms、包体多 6.7 MB,且会用自带画刷覆盖 Window.Background 导致自定义主题失效。本项目控件模板全部手写,改用原生 Window + WindowChrome。
为什么不用 WinRT / System.Management
net10.0-windows10.0.x 会拖入约 24 MB 的 Microsoft.Windows.SDK.NET。本项目改用 WMI 的 WbemScripting 后期绑定 COM、WUA 与计划任务同样走 COM、Appx 借 PowerShell,用最小代价换取同等能力。
