如何在 Windows 上卸载 draw.io
卸载 draw.io 桌面版之前,先确认你的图表实际存在哪儿。draw.io 的 .drawio 文件可以存在这台电脑的文件夹里,也可以存在连接的账号里,比如 Google Drive、OneDrive、GitHub 或 GitLab,没有统一的默认位置需要备份,在 draw.io 里打开「文件 › 最近」,逐个确认在意的图表存在哪儿。这份指南覆盖用 JGraph.Draw winget 包按机器安装的 draw.io。
先退出 draw.io
保存图表,退出 draw.io,卸载前在任务管理器(Ctrl+Shift+Esc)里确认没有 draw.io.exe 还在。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 draw.io,选择卸载,或者运行:
winget uninstall --id JGraph.Draw
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%APPDATA%\draw.io |
应用层设置和连接账号的状态,不是你的图表 | 可以删 |
%LOCALAPPDATA%\draw.io-updater |
下载好的更新安装包 | 可以删 |
存在本地文件夹的图表就是个普通文件,放哪儿就在哪儿;存在连接账号里的图表在那个服务那边,不在 draw.io 里面,卸载应用不管怎么样都不会碰它。
检查结果
卸载完成后运行下面几条只读命令:
Get-Process "draw.io" -ErrorAction SilentlyContinue
winget list --id JGraph.Draw
Test-Path "${env:ProgramFiles(x86)}\draw.io"
Test-Path "$env:APPDATA\draw.io"
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。列出进程,说明还有窗口开着。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。- 第一条
Test-Path返回False,说明程序目录已经没了;返回True,说明那里还有文件。 Test-Path "$env:APPDATA\draw.io"返回True,说明应用层设置还在,只要你没有自己删掉,这就是正常的。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个 NSIS 卸载器,删的是同一批程序文件,不会主动动 %APPDATA%\draw.io。
连接的云账号
卸载 draw.io 不会让你从连接的 Google Drive、OneDrive、GitHub 或 GitLab 账号退出登录,那些账号的连接状态在服务自己那边,和这台电脑上的应用装没装没关系。
Mole 会列出什么
对按机器安装的 winget 版 draw.io:
- 程序目录默认勾选,这次测试里卸载器在 Mole 自己动手之前就已经把它删掉了。
%LOCALAPPDATA%\draw.io-updater默认勾选。%APPDATA%\draw.io会列出,但默认不勾选。.drawio、.mermaid、.vsdx这类文件类型登记不会动,别的能打开这些文件的应用还在用。
这次检查覆盖了什么
测试的是通过 winget 按机器安装的 draw.io 31.5.2,用的是它自带的 NSIS 卸载器(Uninstall draw.io.exe /allusers /S)。这次把列出的所有行都全选并移除了。没有测试:连接的云账号,以及 winget 提示的 31.5.3 更新。
