解决 Windows 7新装机上下载Visual Studio 2019 0B/s 的问题(还可以解决部分驱动安装,或者网络连接的问题)

解决 Windows 7 下载Visual Studio 2019 0B/s 的问题(还可以解决部分驱动安装,或者网络连接的问题)

如果你用的是Windows 10操作系统基本上不用看这个文章了,应该帮不到你,Windows 10的更新中应该是自带这个补丁的。


问题描述

在Windows 7 x64 SP1 系统的虚拟机中安装Visual Studio 2019 时发现 Visual Studio Installer 一直是 0B/s的下载速度,过一会儿就出现了个弹窗,让我检查 Internet连接。

解决 Windows 7新装机上下载Visual Studio 2019 0B/s 的问题(还可以解决部分驱动安装,或者网络连接的问题)

按照网路上的方法,我试过了 修改Hosts,修改DNS刷新DNS缓存都没有效果。


解决问题

0x01: 给系统安装 KB4474419补丁

补丁作用:大概就是让系统认识SHA-2的数字签名,来保证链接可以正确建立。

安装方法:简单一点,直接安装个人版火绒杀软。(不用真的安装,如果电脑没有SHA-2补丁的话它会先给你安装这个补丁)然后就让你重启,重启之后就可以删掉了,或者选择安装火绒都可以(没收广告费)。

之后再进行下载就应该不会出现 0B/s 的情况了。

顺带一提对于 Arduino IDE的驱动安装,也可以用这个方法来解决。
反正就是你能想到的用到了SHA-2的地方都可以用这个解决。(大概)

这个补丁之前好像是KB3033929来解决的,但是貌似被更新成现在的KB4474419了。


问题发现解决过程

对于我解决问题过程好奇的人可以继续往下看。

在遇到这个问题之后经过百度的多次搜索,终于找到一个方法介绍了我之前没有想到方法,决定把这个教程看完,虽然介绍的方法没有用但却启发了我。我为啥不直接去看出问题的软件的错误日志呢?

教程中也提供了 错误日志的路径 C:\Users\%UserName%\AppData\Local\Temp\dd_boot*
找到那个dd_boot开头时间结尾的那个就是了。

打开文件找到报错的那行日志仔细看,
定位到如下几行。

VisualStudio Bootstrapper:2021/10/6 1:00:46: Attempting download 'https://aka.ms/vs/16/release/installer' using engine 'WebClient'
VisualStudio Bootstrapper:2021/10/6 1:00:48: WebClient error 'TrustFailure' - proxy setting 'Default' - 'https://aka.ms/vs/16/release/installer'.
VisualStudio Bootstrapper:2021/10/6 1:00:48: WebClient failed in 'https://aka.ms/vs/16/release/installer' with 'The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.' - 'https://aka.ms/vs/16/release/installer'.
VisualStudio Bootstrapper:2021/10/6 1:00:48: WebClient failed attempting to access https://aka.ms/vs/16/release/installer via 23.63.47.52
VisualStudio Bootstrapper:2021/10/6 1:00:48: Download failed using WebClient engine. System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
   at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)

又由里边的 WebClient error 'TrustFailure'Could not establish trust relationship for the SSL/TLS secure channel.'定位到问题的关键所在,是 信任问题,因为信任问题无法建立信任的SSL/TLS安全通道。

那我就突然想到了虚拟机里的Windows 7 还没有打过 SHA-2证书的补丁,不认识SHA-2的证书,把这个证书当作是假的了。主动断开了和服务器的连接。

最终安装补丁,问题解决。

上一篇:Centos7 基础知识小技巧 No.1


下一篇:MATLAB/SIMULINK搭建分布式驱动电动汽车模型,七*度整车模型