根本原因是注册表清理不完整,需同步删除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall{GUID}_is1、AppUserModelId\Microsoft.VisualStudioCode及VS Code配置项,并清除残留unins000.exe,否则安装器静默崩溃或跳过路径页。

注册表清理不完整,是 VSCode 重装失败最常被忽略的根因——删了 {GUID}_is1 却漏掉 AppUserModelId 或残留 unins000.exe,安装程序就会静默崩溃或跳过路径页。
为什么删了 {GUID}_is1 还是不能选安装路径
VSCode User Installer 启动时会同时检查三处注册表项,只删其中一处没用:
-
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}_is1:User Installer 的“存在凭证”,删它能恢复路径选择页,但不是全部 -
HKEY_CURRENT_USER\Software\Classes\AppUserModelId\Microsoft.VisualStudioCode:影响任务栏固定、Alt+Tab 图标一致性;若残留,新装版可能无法启动 GUI(进程存在但无窗口) -
HKEY_CURRENT_USER\Software\Microsoft\VS Code:虽不阻断安装,但若该键下仍有machineSettings或损坏的telemetry值,会导致首次启动卡在“正在激活扩展”
安装失败报“驱动器不存在”其实是注册表指向旧路径
这个错误不是磁盘问题,而是注册表里残留的卸载元数据仍记录着上一次安装路径(比如 G:\VSCode),而该盘符已被移除或重命名。安装器读到后直接校验失败,不给任何提示就退出。
- 必须手动检查
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall下所有子项,搜索值中含InstallLocation或DisplayIcon的字符串,确认其路径是否真实可访问 - 特别注意那些名称不含 “VisualStudioCode” 但
Publisher值为Microsoft Corporation的项——它们可能是旧版 Insider 或预发布残留 - 不要依赖“搜索关键词”一键删:Inno Setup 生成的 GUID 每次安装都不同,靠名字找不准;得逐个点开看
InstallLocation值
别忘了 unins000.exe 这个隐藏关卡
很多用户以为卸载干净了,其实旧安装目录下还躺着一个 unins000.exe。VSCode 安装器检测到它存在,会优先尝试调用它做“升级式安装”,而非全新安装——一旦该文件损坏或权限异常,整个流程就卡死。
- 定位路径:
%LOCALAPPDATA%\Programs\Microsoft VS Code\unins000.exe(User Installer)或C:\Program Files\Microsoft VS Code\unins000.exe(System Installer) - 如果该文件存在,右键以管理员身份运行它;若报错“找不到指定模块”,说明已损坏,直接删除整个文件夹
- 删完后务必清空回收站——Windows 有时会把
unins000.exe锁在回收站里,安装器仍能感知到残留
验证是否真清干净的唯一方式
不是看控制面板有没有图标,也不是看资源管理器里有没有文件夹——而是双击安装包后,观察是否出现“选择安装位置”页面。如果依然一闪而过,说明还有注册表项没找全,或者某处路径权限异常(尤其是 %LOCALAPPDATA%\Programs 被设为只读)。
最容易被跳过的其实是 AppUserModelId 项:它不参与安装逻辑判断,但会让新安装的 Code.exe 在 Windows Shell 层被识别为“同一应用”,从而复用旧图标缓存、托盘状态甚至崩溃堆栈。这种问题不会报错,只会让你觉得“怎么又回到老样子”。


















