如何在 Windows 上卸载 SwitchHosts
这份记录覆盖通过 oldj.switchhosts 按用户安装的 SwitchHosts 5.0.2,先退出应用,再从 Windows 的已安装应用中卸载。
先退出应用
关闭应用窗口和托盘入口,在任务管理器(Ctrl+Shift+Esc)里检查 switchhosts.exe 是否还在运行。
数据与设置
需要留住本地资料或设置时,先备份下列目录,确认不再需要后再处理,目录还在并不代表卸载失败。
| 位置 | 处理 |
|---|---|
%LOCALAPPDATA%\net.oldj.switchhosts |
先查看内容,保留或备份本地资料 |
%USERPROFILE%\.SwitchHosts |
设置与 hosts 备份,删除前先保留需要的内容 |
用 winget 卸载
winget uninstall --id oldj.switchhosts --exact
命令的 --id 与 --exact 选项见 Windows 官方文档。
检查结果
Get-Process -Name 'switchhosts' -ErrorAction SilentlyContinue
winget list --id oldj.switchhosts --exact
Test-Path "$env:LOCALAPPDATA\net.oldj.switchhosts"
Test-Path "$env:USERPROFILE\.SwitchHosts"
进程命令没有输出只说明该进程当前未运行,winget 正常完成且没有匹配才说明该包已不在安装列表,查询报错不能当作卸载成功。Test-Path 返回 True 表示该资料目录仍在,False 表示该路径已不存在,保留资料时 True 是正常结果。
Mole 会列出什么
Mole 的审查列出程序目录和快捷方式,默认勾选,%LOCALAPPDATA%\net.oldj.switchhosts 和自己的用户注册表设置默认不勾选,日志单独列出,默认勾选。此次仅启动应用,没有切换 hosts 配置,程序目录的回收失败与后续复测分别记录,不能把使用记录删除成功当作程序目录回收成功。
%USERPROFILE%\.SwitchHosts 也会列出,但默认不勾选,保留仍需要的 hosts 备份。
这次检查覆盖了什么
记录日期 2026-10-03,实测版本 5.0.2,使用 NSIS 自带卸载器。
这次记录来自 Windows 11 ARM64 虚拟机中的源码测试,没有测试登录账号、同步资料或其他安装渠道,外部卸载的延迟残留对照另行采样,不能用本次 Mole 卸载代替。
2026-10-04 复测中,Status 页面显示 SwitchHosts,卸载登记已消失,程序目录结果为 Missing,资料目录已回收,共享桌面快捷方式仍返回 0x32,不记为已回收。
2026-10-04 用当前源码在 Windows 虚拟机中创建受控文件,复测新增残留规则的精确归属、另一份安装副本保留和回收后的路径消失,这次没有重跑厂商卸载,也不代表正式包已验证。
