如何在 Windows 上卸载 Discord
先退出语音和直播,保存好下载过的附件,再退出 Discord。卸载应用不会删掉你的 Discord 账号,也不会取消 Nitro 订阅,服务器和消息在浏览器或者别的设备上还能打开。这份指南覆盖用 Discord.Discord winget 包按用户安装的 Discord,和 Discord 官网下载装出来的是同一个应用。
先退出 Discord
先离开通话和直播,再从托盘图标或窗口菜单退出 Discord,只关窗口可能会留在托盘里继续跑。它是多进程应用,每个窗口加上辅助进程各占一个,卸载前在任务管理器(Ctrl+Shift+Esc)里确认没有 Discord.exe 还在。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 Discord,选择卸载,或者运行:
winget uninstall --id Discord.Discord
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%LOCALAPPDATA%\Discord |
程序文件 | 卸载器会删 |
%APPDATA%\discord |
本地设置和应用数据 | 想留本地设置就先备份,卸载器不会删它 |
%APPDATA%\discord 里的 Cache、Code Cache、GPUCache 一类文件夹 |
应用缓存 | 可以删 |
| 桌面和开始菜单(Discord Inc)快捷方式 | 应用的快捷方式 | 卸载器会删 |
Discord 的缓存、消息记录和下载文件分别是什么,可以看 Discord 的故障排查指南。
检查结果
卸载完成后运行下面几条只读命令:
Get-Process Discord -ErrorAction SilentlyContinue
winget list --id Discord.Discord
Test-Path "$env:LOCALAPPDATA\Discord"
Test-Path "$env:APPDATA\discord"
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。列出进程,说明还有一份在运行。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。- 第一条
Test-Path返回False,说明程序目录已经没了;返回True,说明那里还有文件。 Test-Path "$env:APPDATA\discord"返回True,说明本地设置还在,只要你没有自己删掉,这就是正常的。
然后用浏览器打开确认服务器和消息都没受影响。
如果 Discord 的通知还在弹
先判断是浏览器标签页、另一份 Discord 安装,还是还在运行的进程发的,退出并卸载桌面应用不会让浏览器里的登录状态跟着退出。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个卸载器,删的是同一批程序文件,它不会主动动 %APPDATA%\discord。
账号与订阅
卸载不会取消 Nitro 订阅,也不会让你退出账号登录,订阅状态去网页版的账号设置里查看。
Mole 会列出什么
对按用户安装的 winget 版 Discord:
- 程序目录、桌面和开始菜单快捷方式默认勾选。
- 存放本地设置的
%APPDATA%\discord会列出,但默认不勾选;它里面的缓存(Cache、Code Cache、GPUCache 一类)单独列出并默认勾选。 - 如果还有
discord://链接或别的登记指向已经删掉的程序,Mole 也会列出,删除前先备份成.reg文件。
这次检查覆盖了什么
测试的是通过 winget 按用户安装的 Discord 1.0.9259。这次是在提权环境里安装的,多出了一条所有用户的启动项,普通的按用户安装不会有。这次勾选了列出的每一项,都已移除。没有测试:登录状态、服务器和消息。
