來了!來了!從山坡上輕輕地爬下來了。Visual Studio 2017 3/7 RTM 囉~

家裡跟公司有好幾台機器要裝,照著小朱的教學文抓好離線安裝包(我選 Enterprise 英文版,全部安裝檔約 20.6 GB),避免逐台重複下載耗時費頻寬又不環保。按照慣例,身為茶包射手體質異於常人,安裝 Visual Studio 一次 OK 成何體統?(案例案例案例)是的,我又踩到水坑了~

本次遇到的問題安裝過程出現 Microsoft.VisualStudio.WebDeploy 安裝失敗,導致 .NET Core、.NET 桌面開發及 ASP.NET 與網頁程式開發裝不起來。

無法安裝套件 'Microsoft.VisualStudio.WebDeploy.Msi,version=15.0.26208.0,chip=x64'。
    搜尋 URL: https://aka.ms/VSSetupErrorReports?q=PackageId=Microsoft.VisualStudio.WebDeploy.Msi;PackageAction=Install;ReturnCode=1316
    受影響的工作負載
        .NET Core 跨平台開發 (Microsoft.VisualStudio.Workload.NetCoreTools,version=15.0.26208.0)
        .NET 桌面開發 (Microsoft.VisualStudio.Workload.ManagedDesktop,version=15.0.26208.0)
        ASP.NET 與網頁程式開發 (Microsoft.VisualStudio.Workload.NetWeb,version=15.0.26208.0)
    受影響的元件
        ASP.NET 與網頁程式開發工具 (Microsoft.VisualStudio.Component.Web,version=15.0.26208.0)
        Web Deploy (Microsoft.VisualStudio.Component.WebDeploy,version=15.0.26208.0)
        Windows Communication Foundation (Microsoft.VisualStudio.Component.Wcf.Tooling,version=15.0.26208.0)
    記錄
        C:\Users\Jeffrey\AppData\Local\Temp\dd_setup_…_Microsoft.VisualStudio.WebDeploy.Msi.log
    詳細資料
        MSI: C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.VisualStudio.WebDeploy.Msi,version=15.0.26208.0,chip=x64\webdeploy_x64.msi,屬性:  REBOOT=ReallySuppress
        傳回代碼: 1316
        傳回代碼詳細資料: 指定的帳戶已存在。

爬文推測為 Web Deploy 套件之安裝資訊毁損,導致移除或升級失敗。試著手動解除安裝,看到一模一樣的「指定的帳戶已存在訊息」。

針對無法安裝或無法解除安裝的疑難雜症,微軟有個自動修復工具,能修復以下問題:

  • 64 位元作業系統的登錄機碼損毀
  • 控制更新資料的損毀登錄機碼
  • 無法安裝新程式問題
  • 無法解除安裝或更新現有程式問題
  • 無法由 [控制台]中透過 [新增或移除程式] (或 [程式和功能]) 解除安裝程式的問題

從沒用過,抱著姑且一試的心情試跑(命運之神會這麼輕易放過我嗎?),程式詢問要解除安裝的程式,Microsoft Web Deploy 3.6 不在其中,依提示選取「未列出」:

第一關來了,請填入產品代碼 GUID… 嗯,還好我對 GUID 也是略懂略懂,就算不知產品代碼,還是可以用暴力破解,估計試過 103 百萬兆次就會有 10 億分之一的成功機會:

別鬧了!身為 Windows 老鳥,很快在 Registry 搜尋關鍵字找出答案。

答案正確,程式成功找到「Microsoft Web Deploy 3.6」,詢問要解除安裝還是嘗試其他修正,選擇解除安裝。

之後經過「毁損的修補登錄機碼」(這啥?阿鬼,你還是說英文吧!)、「查看修補程式相關問題的登錄」、「嘗試使用下列項目解決問題:Microsoft Web Deploy 3.6」等過程,大功告成!

Microsoft Web Deploy 3.6 從解除安裝清單消失,重試一次,Visual Studio 2017 安裝完成,萬歲!

找到工具這麼快就把問題解了,還真不習慣,哈!(謎:是有沒有這麼賤骨頭啦?)


Comments

# by 阿信

小弟安裝完後出現以下錯誤,找到解決方式,借此供有需要的人參考。解法:請至下列網址下載安裝 powershell 3.0 或以上的版本 https://msdn.microsoft.com/zh-tw/powershell/scripting/setup/installing-windows-powershell -------------------------------------------- 產品因為一或多個套件失敗,而無法安裝列出的工作負載及元件。 不完整的工作負載 使用 JavaScript 進行行動開發 (Microsoft.VisualStudio.Workload.WebCrossPlat,version=15.0.26208.0) 不完整的元件 Cordova 6.3.1 工具組 (Component.CordovaToolset.6.3.1,version=15.0.26208.0) 您可以使用下方資訊搜尋解決方案、修改上方工作負載及元件的選取項目並重試安裝,或從機器移除產品。 以下是造成上方工作負載及元件不元整的個別套件失敗集合。若要搜尋這些特定問題的現有報告,請從各套件失敗複製 URL,再於網頁瀏覽器貼上。如果問題已經回報,您可以在該處找到解決方案或因應措施。如果問題未經回報,您可以建立新問題,讓其他人能夠找到解決方案或因應措施。 無法安裝套件 'CordovaToolset.6.3.1,version=6.3.1.36'。 搜尋 URL: https://aka.ms/VSSetupErrorReports?q=PackageId=CordovaToolset.6.3.1;PackageAction=Install;ReturnCode=1 受影響的工作負載 使用 JavaScript 進行行動開發 (Microsoft.VisualStudio.Workload.WebCrossPlat,version=15.0.26208.0) 受影響的元件 Cordova 6.3.1 工具組 (Component.CordovaToolset.6.3.1,version=15.0.26208.0) 記錄 C:\Users\Administrator\AppData\Local\Temp\dd_setup_20170315164823_476_CordovaToolset.6.3.1.log 詳細資料 執行的命令: "c:\windows\syswow64\\windowspowershell\v1.0\powershell.exe" -NoLogo -NoProfile -ExecutionPolicy Unrestricted -InputFormat None -Command "& """C:\ProgramData\Microsoft\VisualStudio\Packages\CordovaToolset.6.3.1,version=6.3.1.36\ToolsetInstall.ps1""" -Version 6.3.1 -InstallationID 5735eb5c -ExtensionFolder """C:\ProgramData\Microsoft\VisualStudio\Packages\CordovaToolset.6.3.1,version=6.3.1.36""" -Operation Install" 傳回代碼: 1 傳回代碼詳細資料: 功能錯誤。

# by 阿信

(補充) 安裝完 powershell 後請再執行下列指令: "c:\windows\syswow64\\windowspowershell\v1.0\powershell.exe" -NoLogo -NoProfile -ExecutionPolicy Unrestricted -InputFormat None -Command "& """C:\ProgramData\Microsoft\VisualStudio\Packages\CordovaToolset.6.3.1,version=6.3.1.36\ToolsetInstall.ps1""" -Version 6.3.1 -InstallationID 5735eb5c -ExtensionFolder """C:\ProgramData\Microsoft\VisualStudio\Packages\CordovaToolset.6.3.1,version=6.3.1.36""" -Operation Install"

# by Jeffrey

to 阿信, 謝謝你的分享。

Post a comment


62 - 36 =