Solution to VS2017 Installation Problem

VS2017安装中注册表问题的解决

今天在安装VS2017时碰到了一个棘手的问题导致所有的组件都无法使用,经过半天的捣鼓最终解决了以下的问题。

  • 注册表权限问题

如果你的电脑里曾经安装过visual studio的产品,但是卸载的时候没有清除注册表,那么下一次安装的时候就可能出现下述情况:

mark

mark

在安装Vs2017时会显示安装完成,但存在警告,打开VS2017exe文件创建项目时只有空白解决方案,找不到其它的模板,并且当我们查看日志详情时会显示下面的内容:

详细信息
MSI: C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.VisualStudio.MinShell.Msi.Resources,version=15.0.26621.2,language=zh-CN\Microsoft.VisualStudio.MinShell.Msi.Resources.msi,属性: REBOOT=ReallySuppress ARPSYSTEMCOMPONENT=1 MSIFASTINSTALL=”7” VSEXTUI=”1”
返回代码: 1603
返回代码详细信息: 安装时发生严重错误
消息 ID: 1402
消息详细信息: 无法打开注册表项\HKEY_LOCAL_MACHINE32\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION。请确认你是否有足够的权限访问该注册表项,或者与技术支持人员联系。

其中注册表项$\times\times\times$的内容可能因计算机而异。

解决方法:

根据日志的提示可知是注册表的权限存在问题,导致安装程序无法访问。在这里我们可以使用快捷键win+R打开命令行,然后输入regedit进入注册表的管理。

在这里我遇到了一个大坑,按照日志的提示我们应该修改\HKEY_LOCAL_MACHINE32\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION的权限,但是64位的电脑根本没有HKEY_LOCAL_MACHINE32这一项,如果忽略32,则在\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl下也无法找到FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION,当然自己新建一个注册表也无济于事。

反复试了几次后我一度放弃,但是想到32可能是32位电脑的情况后跑去百度了一下,在翻阅了大量博客和论 坛之后终于在Microsoft TechNet的论坛上找到了答案,原来在64位的电脑上HKEY_LOCAL_MACHINE32\Software会自动定向到HKEY_LOCAL_MACHINE\Software\Wow6432Node,所以我们要修改的权限应该是\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION才对。

具体修改时,可能一开始显示没有访问权限,但是我们可以右键->权限->添加组或用户名,添加的时候把Administrator和system都添加进去,并且它们要有完全控制的权限。

然后在重新安装后重启电脑就没问题了(可能还会警告,那也是同样的问题,参照日志该注册表权限就行,直到不报错)。

文章目录
  1. 1. VS2017安装中注册表问题的解决