如何在 Windows 上卸载 TortoiseHg
先保留 Mercurial 仓库、未提交修改和 TortoiseHg 设置,再卸载。
这份指南覆盖用 winget 按机器安装的 TortoiseHg 7.0.1(WiX,x64)。程序目录是 %ProgramFiles%\TortoiseHg。装好后会有 TortoiseHg Overlay Icon Server,并在资源管理器里做图标覆盖。
先退出覆盖服务
从任务管理器结束 TortoiseHgOverlayServer.exe,或先卸载再让卸载器关它。这次有 1 个进程。启动项 TortoiseHg Overlay Icon Server 是机器 Run,拨开关会弹出「Registry Console Tool」的 UAC。这次点了 No,没有允许。卸载前开关仍是开。
开始菜单里有一个「TortoiseHg Web Site」快捷方式,会打开浏览器。那不是程序本身。
用自带的卸载器移除
按机器安装,卸载需要管理员。产品码以这台机器的卸载登记为准。这次是:
msiexec /x {E0CAD29A-A998-4CCE-B36A-3A8963CD34AB}
也可以在「设置 › 应用 › 已安装的应用」里卸载 TortoiseHg 7.0.1 (x64)。
数据分别在哪里
这次卸载后程序目录不在了。公共数据目录、Roaming 目录和开始菜单文件夹被列出来并已不在。启动项也不在了。
HKCU\Software\TortoiseHg 还在,只剩值 ContextMenuVersion。卸载回执是 Removed,原因 keptShared。
检查结果
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{E0CAD29A-A998-4CCE-B36A-3A8963CD34AB}" -ErrorAction SilentlyContinue
Test-Path "$env:ProgramFiles\TortoiseHg"
Get-ItemProperty "HKCU:\Software\TortoiseHg" -ErrorAction SilentlyContinue | Select-Object ContextMenuVersion
- 没有输出不能单独证明对象已消失,忽略的权限或查询错误会隐藏结果,需要确认查询成功或明确返回对象不存在。
- 第二条返回
False,说明程序目录已经没了。 - 第三条还有 ContextMenuVersion,说明这个用户键还在。
Mole 会列出什么
| 位置 | 项目 | 默认状态 |
|---|---|---|
%ProgramFiles%\TortoiseHg |
程序文件 | 随应用那一行处理 |
%ProgramData%\TortoiseHg |
设置或应用数据,确认后再删 | 列出但不勾选 |
%APPDATA%\TortoiseHg |
设置或应用数据,确认后再删 | 列出但不勾选 |
%ProgramData%\Microsoft\Windows\Start Menu\Programs\TortoiseHg |
快捷方式 | 默认勾选 |
HKCU\SOFTWARE\TortoiseHg |
注册表项 | 列出但不勾选 |
程序、选中的 ProgramData 和 Roaming 目录已删除或已不存在,图标覆盖服务的启动项消失,HKCU\Software\TortoiseHg 仍留有 ContextMenuVersion,完成结果不代表整个键已消失。
这里的默认状态以关闭“卸载时一并移除数据和配置”为前提,明确点击全选或一并移除用户数据会包含列出的个人数据,确认前核对勾选,Mole 删除的已选文件进回收站,已选注册表项先备份再移除,厂商卸载器有自己的删除方式。
这次检查覆盖了什么
记录日期 2026-10-19,TortoiseHg,版本 7.0.1,全机范围,MSI,winget 包为 TortoiseHg.TortoiseHg,证据来自 ARM64 Windows 测试环境和 Mole 开发构建,不代表当前下载包已验证,也没有据此验证真实账号、同步资料或生产项目的卸载。
厂商文档,上面的路径和卸载结果来自 Windows 实测,单独注明厂商来源的内容除外。
