问题描述:win10 下无法安装VS2017,visual studio installer下载进度始终为0,点击取消按钮后,也没有反应,visual studio installer也关闭不掉;
具体问题详见 博问:https://q.cnblogs.com/q/106027/ 微软问题:https://social.msdn.microsoft.com/Forums/zh-CN/baafa177-158d-4130-bc64-330b7b32a14c/win10-vs2017visual-studio-installer0?forum=vstudiozhchs
通过查询C:\Users\admin\AppData\Local\Temp下日志(dd_bootstrapper_开头):
VisualStudio Bootstrapper:2018/5/6 10:05:07: Beginning file download. File = https://aka.ms/vs/15/release/installer.
VisualStudio Bootstrapper:2018/5/6 10:05:07: Download requested: https://aka.ms/vs/15/release/installer
VisualStudio Bootstrapper:2018/5/6 10:05:07: Attempting download 'https://aka.ms/vs/15/release/installer' using engine 'WebClient'
VisualStudio Bootstrapper:2018/5/6 10:05:07: WebClient error 'ConnectFailure' - proxy setting 'Default' - 'https://aka.ms/vs/15/release/installer'.
VisualStudio Bootstrapper:2018/5/6 10:05:07: WebClient error 'ConnectFailure' - proxy setting 'DefaultCredentialsOrNoAutoProxy' - 'https://aka.ms/vs/15/release/installer'.
VisualStudio Bootstrapper:2018/5/6 10:05:07: WebClient error 'ConnectFailure' - proxy setting 'NetworkCredentials' - 'https://aka.ms/vs/15/release/installer'.
VisualStudio Bootstrapper:2018/5/6 10:05:07: WebClient error 'ConnectFailure' - proxy setting 'DirectAccess' - 'https://aka.ms/vs/15/release/installer'.
VisualStudio Bootstrapper:2018/5/6 10:05:07: WebClient failed in 'https://aka.ms/vs/15/release/installer' with '基础连接已经关闭: 无法连接到远程服务器。' - 'https://aka.ms/vs/15/release/installer'.
VisualStudio Bootstrapper:2018/5/6 10:05:07: Download failed using WebClient engine. System.Net.WebException: 基础连接已经关闭: 无法连接到远程服务器。 ---> System.Net.Sockets.SocketException: 无法加载或初始化请求的服务提供程序。
在 System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)
在 System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6)
在 System.Net.PooledStream.Activate(Object owningObject, Boolean async, GeneralAsyncDelegate asyncCallback)
在 System.Net.Connection.CompleteStartConnection(Boolean async, HttpWebRequest httpWebRequest)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.HttpWebRequest.GetResponse()
在 Microsoft.VisualStudio.Setup.Download.WebClientEngine.GetWebResponse(Uri uri, DownloadContext downloadContext, DownloadSummary& downloadSummary)
在 Microsoft.VisualStudio.Setup.Download.WebClientEngine.DownloadCore(Uri uri, Stream stream, ProgressUpdateCallback progress, CancellationToken cancellationToken, DownloadContext downloadContext)
在 Microsoft.VisualStudio.Setup.Download.DownloadEngineBase.DownloadWithBitRate(Uri uri, Stream outputStream, ProgressUpdateCallback progress, CancellationToken cancellationToken, DownloadContext downloadContext)
在 Microsoft.VisualStudio.Setup.Download.DownloadEngineBase.Download(Uri uri, Stream outputStream, ProgressUpdateCallback progress, CancellationToken cancellationToken, DownloadContext downloadContext)
在 Microsoft.VisualStudio.Setup.Download.DownloadManager.DownloadWithRetry(IDownloadEngine[] engines, Uri uri, Stream outputStream, ProgressUpdateCallback progress, CancellationToken cancellationToken, DownloadContext downloadContext, Boolean verifySignature)
VisualStudio Bootstrapper:2018/5/6 10:05:07: Sleeping 5000 milliseconds before retrying download.
VisualStudio Bootstrapper:2018/5/6 10:05:12: Attempting download 'https://aka.ms/vs/15/release/installer' using engine 'Bits'
VisualStudio Bootstrapper:2018/5/6 10:07:12: Skipped BITS download engine: 检索 COM 类工厂中 CLSID 为 {4991D34B-80A1-4291-83B6-3328366B9097} 的组件失败,原因是出现以下错误: 80080005 服务器运行失败 (异常来自 HRESULT:0x80080005 (CO_E_SERVER_EXEC_FAILURE))。
VisualStudio Bootstrapper:2018/5/6 10:07:12: Download failed using Bits engine. System.Runtime.InteropServices.COMException (0x80080005): 检索 COM 类工厂中 CLSID 为 {4991D34B-80A1-4291-83B6-3328366B9097} 的组件失败,原因是出现以下错误: 80080005 服务器运行失败 (异常来自 HRESULT:0x80080005 (CO_E_SERVER_EXEC_FAILURE))。
在 Microsoft.VisualStudio.Setup.Download.Bits.BitsEngine.<>c.<.ctor>b__3_0()
在 System.Lazy`1.CreateValue()
在 System.Lazy`1.LazyInitValue()
看到该日志,原以为是我的电脑无法正常访问https://aka.ms/vs/15/release/installer,但实际经过手动下载,是可以正常快速下载的,所以排除了网络问题,在此感谢DUDU的积极回复,虽不是网络问题,但至少表现出对该事情的关心。
既然不是网络问题,那肯定就是电脑环境有问题,从安装日志来看(红色标出的部份),应该是Download failed using Bits engine,而该失败可能与一些COM服务相关,按照这个思路,通过如下步骤就成功解决了问题。
第一步:检查BITS服务及相关依赖服务是否正常开启,如果没开启则全部设为自动并启用(这里我确实有一些服务没有开启)
Remote Procedure Call (RPC)
COM+ Event System
System Event Notification Services
Background Intelligent Transfer Service-----》这个就是BITS服务
Network Connections
第二步:如果开启了上述所有的服务仍然不能解决问题,则需要检查是否存在组件缺失,若存在则需要修复,如下:(我的组件没有缺失)
Windows+x,打开“命令提示符(管理员),执行以下命令:
DISM/Online /Cleanup-image /Scanhealth
DISM/Online /Cleanup-image /Restorehealth
Sfc /scannow
第三步:如果执行了第二步检查并修复了相关组件后还有问题,则需要检查Socket组件,必要时执行如下命令进行重置(我的就需要重置)
- 键入“netsh winsock reset” ,然后按“Enter” 。
- 键入“netsh int ip reset” ,然后按“Enter” 。
- 键入“ipconfig /release” ,然后按“Enter” 。
- 键入“ipconfig /renew”,然后按“Enter”。
- 键入“ipconfig /flushdns”,然后按“Enter”。
执行完上述三步后,重启电脑,至此,我的这个问题就成功解决了。办法总比问题多,大家多动脑多分析任何问题都不会被难倒的。
之所以分享这个解决记录,是因为VS2017是大家学习.NET CORE的首要条件,而在WIN 10上安装VS2017也是很常见的,可能谁也会遇到我这样的问题,有了分享,大家解决问题就快多了。
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2013anzhuangwenti/2020/0725/4354.html