Windows VPN 客户端装不上:先分清故障类型
对话框只会告诉你最后放弃的是哪一步。记下错误号和提到的引擎,然后只修复与它对应的那一层。
安装失败时,报错信息很少指出真正的问题。对话框报告的是放弃尝试的那一步,而这一步通常是安装程序的共享组件,并不是你正在安装的网络部分。两台机器可能因为毫不相关的原因显示完全相同的文字。请先分清故障类型,再按顺序尝试已知的修复方法。
先把确切的失败信息记录下来
记下错误号、消息中提到的引擎或文件,以及安装停止的位置。这一行信息通常就能决定你处在三层中的哪一层,代价只是给屏幕拍一张照片,而不是花一小时去猜。
留意之后网络连接列表里是否出现了适配器。装完却没有适配器,属于驱动层的结果;而根本没有启动的安装程序,属于引擎层的结果,两者对应不同的修复方式。继续之前,先确认厂商支持哪些 Windows 版本。为旧版本编写的安装包可能因为本地无法修复的原因而失败,早点意识到这一点能省下后面的步骤。
错误 2738 是脚本问题
编号 2738 的错误意味着某个自定义操作需要脚本引擎,却没有找到可用的引擎。它不是 VPN 错误,再怎么调整网络配置也不会让它移动。常见原因是注册表仍指向一个被先前安全软件卸载时删掉的文件。
改动之前先检查注册表。Wow6432Node 路径下的 32 位视图在 64 位 Windows 上可能还留有一条单独的过期记录,把两者与真正的引擎库比对,就能知道哪一条是错的。
reg query HKCR\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8}\InprocServer32
reg query HKCR\Wow6432Node\CLSID\{B54F3741-5B07-11CF-A4B0-00AA004A55E8}\InprocServer32先确认不一致,再从提升权限的命令提示符重新注册该库。对正常的注册表这么做没有意义,而把整个键删掉会让其他安装包无法运行它们自己的自定义操作。
被点名的引擎指向别的东西
如果消息点名的是安装程序的内核进程,说明安装包根本没走到自己的欢迎界面。这时应把它当作卡住的引擎,而不是坏掉的客户端,并在重试之前清掉挂起的安装状态。
取消挂起的安装,删除共享的引擎文件夹,重启后再试一次。每次失败后立刻重跑安装程序,会重新制造同样的锁定状态,这就是反复快速重试的人总是遇到同一个错误的原因。还要检查是否有别的安装占着 Windows Installer 服务。挂起的重启或中断的更新也会产生同样的症状,而这一点不会出现在任何 VPN 专属指南里。
把驱动商店当作最后的选择
只有在安装程序已经结束、而适配器缺失或被标记时,驱动缓存才变得相关。给那个文件改名,下一次安装就会重建它;由于 Windows 有太多东西依赖这个结果,它属于清单的末尾而不是开头。先卸载任何旧客户端,重启,并记下原始文件名,以便放回去。如果两个客户端相隔几个月安装,较早的安装包可能留下了服务或筛选器驱动,那根本不是缓存问题。
当厂商已经撤回客户端、安装包早于当前的驱动签名要求,或者只有关掉签名强制才能装下去时,就该停止修复了。让一个被放弃的客户端能启动的绕行方案,并不是下次系统更新后还能用的客户端;此时受支持的选择是当前的客户端,或者来自网关所有者的配置文件。