如何在 Windows 上卸载 Lightshot
Lightshot 自己没什么数据需要备份,设置存在注册表里,不是文件。这份指南覆盖用 Skillbrains.Lightshot winget 包按机器安装的 Lightshot。
先退出 Lightshot
Lightshot 常驻在托盘,登录时自动启动(在「设置 › 应用 › 启动」里找「Starter Module」或「Lightshot」)。卸载前在任务管理器(Ctrl+Shift+Esc)里确认没有 Lightshot.exe 还在。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 Lightshot,选择卸载,或者运行:
winget uninstall --id Skillbrains.Lightshot
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
HKCU\SOFTWARE\SkillBrains\Lightshot |
Lightshot 自己的设置 | 可以直接删 |
Program Files (x86)\Skillbrains\Updater |
Lightshot 安装时一起装的一个独立后台更新器 | 卸载 Lightshot 不会删它,想彻底清掉自己手动删这个文件夹 |
HKCU\Software\SkillBrains\Updater |
更新器自己的设置 | 和上面的更新器文件夹一起删 |
这个更新器还在任务计划程序里注册了一条计划任务,打开任务计划程序,在根目录下找一条和 Skillbrains 相关的条目,想彻底清干净的话连同更新器文件夹一起手动删掉。
检查结果
卸载完成后运行下面几条只读命令:
Get-Process Lightshot -ErrorAction SilentlyContinue
winget list --id Skillbrains.Lightshot
Test-Path "${env:ProgramFiles(x86)}\Skillbrains\lightshot"
Get-ItemProperty HKCU:\SOFTWARE\SkillBrains\Lightshot -ErrorAction SilentlyContinue
Test-Path "${env:ProgramFiles(x86)}\Skillbrains\Updater"
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。- 第一条
Test-Path返回False,说明 Lightshot 的程序目录已经没了;返回True,说明那里还有文件。这次测试里卸载器把它删掉了。 Get-ItemProperty对这个注册表项有输出,说明它还在。Lightshot 自带的卸载器不会删这个键,除非你自己手动删掉。- 最后一条
Test-Path返回True,说明独立的更新器文件夹还在,这是正常的,卸载 Lightshot 不会删它。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个 Inno Setup 卸载器,删的是同一批程序文件和开机启动项,不会动 Updater 文件夹、它的注册表项和计划任务。
Mole 会列出什么
对按机器安装的 winget 版 Lightshot:
- 程序目录和公共开始菜单文件夹默认勾选。
HKCU\SOFTWARE\SkillBrains\Lightshot会列出,但默认不勾选。- 独立的
Skillbrains\Updater程序目录、它的注册表项和计划任务目前都不会列出,想清掉的话按上面的步骤自己动手。
这次检查覆盖了什么
测试的是通过 winget 按机器安装的 Lightshot 5.5.0.7,x86 Inno Setup 安装包。全选列出的项并卸载之后,确认 Updater 文件夹、它的注册表项和计划任务仍然留在机器上。
