問題描述: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也是很常見的,可能誰也會遇到我這樣的問題,有了分享,大家解決問題就快多了。