如何在 Windows 上卸载 HeidiSQL
HeidiSQL 自己几乎不存东西,保存的服务器连接和设置都在注册表里,没有一个文件夹能直接复制备份。卸载前先在 HeidiSQL 里打开连接列表,把不想重新输一遍的记下来。这份指南覆盖用 HeidiSQL.HeidiSQL winget 包按机器安装的 HeidiSQL。
先退出 HeidiSQL
关掉所有打开的连接,关闭 HeidiSQL 窗口。任务管理器(Ctrl+Shift+Esc)里它显示的是文件名 heidisql,不是应用名,卸载前确认它已经退出。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 HeidiSQL,选择卸载,或者运行:
winget uninstall --id HeidiSQL.HeidiSQL
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
HKCU\SOFTWARE\HeidiSQL |
保存的服务器连接、密码和窗口布局 | 先看一遍再决定要不要删,这是保存连接的唯一副本 |
%APPDATA%\HeidiSQL |
给应用自己预留的数据目录 | 大多数安装里是空的,可以删 |
检查结果
卸载完成后运行下面几条只读命令:
Get-Process heidisql -ErrorAction SilentlyContinue
winget list --id HeidiSQL.HeidiSQL
Test-Path "$env:ProgramFiles\HeidiSQL"
Get-ItemProperty HKCU:\Software\HeidiSQL -ErrorAction SilentlyContinue
Get-ScheduledTask | Where-Object { $_.Actions.Execute -like "*heidisql.exe*" }
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。Test-Path返回False,说明程序目录已经没了;返回True,说明那里还有文件。Get-ItemProperty返回设置值表示该项仍在,没有输出时还要确认查询没有权限或其他错误,不能只凭空输出判断已删除。- 最后一条命令列出的计划任务还指着已经删掉的
heidisql.exe,是 HeidiSQL 自己的安装器建的,卸载器不会删它。想删自己去任务计划程序里删掉。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个卸载器,删的是同一批程序文件,不会动保存连接的注册表键。
Mole 会列出什么
对按机器安装的 winget 版 HeidiSQL:
- 程序目录、开始菜单文件夹和公共桌面快捷方式默认勾选。
- 存放保存连接的
HKCU\SOFTWARE\HeidiSQL会列出,但默认不勾选。 %APPDATA%\HeidiSQL会列出,但默认不勾选。- 安装器建的计划任务会在结果里报告,但不会删;计划任务从不自动删除。
这次检查覆盖了什么
测试的是通过 winget 按机器安装的 HeidiSQL 12.21.0.7344,卸载器静默运行没有弹窗。这次列出的每一行都勾选并删除了,除了计划任务,Mole 只报告不删它。
