如何在 Windows 上卸载 1Password
卸载 Windows 版应用之前,先在网页上或另一台设备登录 1Password,打开一个最近新增或编辑过的条目,确认保险库在别处也能用到最新的修改。这份指南覆盖用 AgileBits.1Password winget 包按机器安装的 1Password。
留好登录用的东西
留好账户密码、Secret Key,以及能用的双重验证方式。Emergency Kit 能帮你登录,但它不是保险库备份,也不能证明最近的修改已经同步过。Emergency Kit 里有什么
如果没法在别处登录,或者最近的条目不见了,先解决这个问题,本地数据先留着。
先退出 1Password
右键点托盘图标退出 1Password,卸载前在任务管理器(Ctrl+Shift+Esc)里确认没有 1Password.exe 还在。1Password 通过一个按机器的启动项在登录时自己启动。
浏览器扩展要分开处理,1Password 的 Chrome、Edge、Firefox 扩展都是从各自的商店装的,还想用自动填充就留着,不想要了去对应浏览器的扩展管理里删。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 1Password,选择卸载,或者运行:
winget uninstall --id AgileBits.1Password
数据分别在哪里
不要把下面任何一个当成缓存,名字像缓存不代表文件夹里没有保险库数据。
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%LOCALAPPDATA%\1Password |
本地保险库数据,包括日志 | 确认别处能访问之前先留着 |
%APPDATA%\1Password |
应用设置和缓存 | 同上 |
| Chrome、Edge、Firefox 的原生消息主机登记 | 让浏览器扩展能和应用通信 | 卸载器会删;浏览器扩展本身要单独去删 |
检查结果
卸载完成后运行下面几条只读命令:
Get-Process 1Password -ErrorAction SilentlyContinue
winget list --id AgileBits.1Password
Test-Path "$env:ProgramFiles\1Password"
Test-Path "$env:LOCALAPPDATA\1Password"
Get-Process没有输出只表示未观察到匹配进程,被忽略的查询错误不能当作已经退出。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。- 第一条
Test-Path返回False,说明程序目录已经没了;返回True,说明那里还有文件。 Test-Path "$env:LOCALAPPDATA\1Password"返回True,说明本地保险库数据还在,在确认别处能访问之前,这就是你想要的状态。
在留着的设备或网页上再打开一次保险库,检查条目都在。卸载不会取消订阅,也不会删掉账户。
如果没法在别处登录
如果网页版保险库或者另一台设备上缺最近的修改,先排查同步问题。用 Emergency Kit 和双重验证方式确认真的能登录,光有 Secret Key 不算验证过。在别处的访问确认之前,这台机器上的应用和数据都先留着。重装不是验证备份是否完整的办法。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个 MSI 卸载器(msiexec /x ... /passive),删的是同一批程序文件、启动项和浏览器原生消息主机登记,不会主动动 %LOCALAPPDATA%\1Password 或 %APPDATA%\1Password。
Mole 会列出什么
对按机器安装的 winget 版 1Password:
- 程序目录默认勾选。
%LOCALAPPDATA%\1Password和%APPDATA%\1Password会列出,但默认不勾选,里面是本地保险库数据;%APPDATA%\1Password下面的Cache和Code Cache单独列出并默认勾选。- Chrome、Edge、Firefox 的原生消息主机登记默认勾选。
- 开始菜单快捷方式默认勾选。
这次检查覆盖了什么
测试的是通过 winget 按机器安装的 1Password 8.12.36。测试没有登录保险库,同步、保险库访问和浏览器扩展没有被完整验证到。
