地表上最強大的開發工具 -- Visual Studio 2013於10/17 RTM了!!

公司的工作機是吃飯的傢伙,豈有不馬上升級的道理? 先前在家裡Windows 8安裝順暢無比,沒想到要裝在Windows 2008 R2卻歷經千辛萬苦,如赴西天取經一般波折...

我的Windows 2008 R2要安裝Visual Studio 2013,有兩項事前準備工作: 完成最新的Windows Update更新並升級IE10。因RAMDisk TEMP導致Windows Update更新失敗的鬼故事昨天已經說過了,而為了配合使用者環境,工作機的IE版本仍停留在IE9,這回不升級不行(反正IE11已隨Win8.1與VS2013同一天推出,公司IE版次推升也是早晚的事),Just Do It!

原本以為下一步下一步就可以搞定的IE10安裝,卻意外磨人,帶來一連串令人挫折的安裝經驗。

由網站下載IE10安裝時出現"Internet Explorer did not finish installing"錯誤訊息,試著透過Windows Update安裝一樣失敗收場,但多了個Code 9C59錯誤訊息:

由Windows\IE10_main.log可以看到詳細錯誤訊息: (經比對,不管使用安裝程式或是透過Windows Update安裝,背後發生的錯誤是相同的)

00:11.871: INFO:    Installing with the downloaded package. C:\Windows\TEMP\IE1D91F.tmp\IE10-neutral.Downloaded.cab
00:11.871: INFO:    Launched package installation: C:\Windows\SysNative\dism.exe /online /add-package /packagepath:C:\Windows\TEMP\IE1D91F.tmp\IE10-neutral.Downloaded.cab /quiet /norestart
00:18.080: INFO:    Process exit code 0x80092004 (-2146885628) [Cannot find object or property. ]
00:18.080: ERROR:   Neutral package installation failed (exit code = 0x80092004 (2148081668)).

有明確的錯誤訊息,理論上很快能在網路找到答案,沒想到相關討論滿坑滿谷,遇到問題的人很多,各式建議五花八門,卻沒有明確結論或解法。依我推測,這個看似清楚的錯誤訊息其實並不明確(說不定像"發生一般性的錯誤"一樣含糊),背後成因很多,大家實際遇到的魔王、小妖不盡相同但訊息卻相似,才會出現某人說有神效的療法,其他人試了連汗毛都沒搖一下。微軟甚至出了一份IE10安裝茶包指南,靠! 是有沒有這麼難裝?

總之,效法神農嚐百草,我試了以下做法:

  1. 解除特定Windows Update: KB2422556
  2. 升級顯示卡驅動程式
  3. 使用Windows更新整備工具修補更新
  4. 用pkgmgr清除更新整備工具回報損壞的Microsoft-Windows-IE-Hyphenation-Parent-Package及Microsoft-Windows-IE-Spelling-Parent-Package。[有人建議連先前版本(IE8, IE9)的套件也一併移除,擔心胡亂清除會有後遺症,我只移了確定破損的項目]
  5. 使用SFC /SCANNOW修復損壞的系統檔
  6. 學會看CBS.log、dism.log、CheckSUR.log...
  7. 進入Clean Boot模式再試
  8. 移除IE9重新安裝一次IE9
  9. 有人說要重裝OS... (花惹發! 雖被茶包磨到歸藍波火,但拎杯神智還清楚,沒照辦)
  10. ...

上方法全都試完,問題依舊... 不,是更糟了!! 移除了IE9打算重裝,但卻發現IE9重裝也失敗。這下可好,不但沒升到IE10,反而退回IE8,HTML5專案要怎麼測試? 長嘆一口氣,絕望到想輕生...

天無絕人之路,排除IE9無法安裝問題時,在微軟技術支援網站學到一招:

FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer-*9.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart"

先前網路上看過pkgmgr移掉IE套件的解法,但我只移除了偵測到損壞的項目,而由上述做法推敲,將該版本所有套件都清除才能解決問題(而且是安全的),有官方文件背書決定放手一搏,將上述Script中的*9.*.mum改成*10.*.mum,執行清除後再重新安裝。喵的,IE10安裝成功,我感動到都要哭了~

終於,Visual Studio 2013在工作機上安裝就緒,Let's Party!


Comments

# by Terry

感謝您的研究,幫上了大忙

# by Jane

FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer-*9.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart" 这个是什么意思啊

# by Jane

FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer-*9.*.mum /c "cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart" 这个是什么意思啊

# by Jeffrey

to Jane, 可想成藉由DIR %WINDIR%\servicing\Packages\Microsoft-Windows-InternetExplorer-*9.*.mum取得檔案清單,對清單裡的每一個檔案執行start /w pkgmgr /up:檔案名稱 /norestart。目的在一次移除所有名為Microsoft-Windows-InternetExplorer-*9.*.mum的IE套件。

# by LC-BX

安装IE失败,同样是Neutral package installation failed,但是后面的代码不同。使用阁下的命令行命令,一些卸载成功了,但是有几个提示拒绝访问。 本人再次搜索网络,发现可以用 /update-no参数启动IE11离线安装包程序,安装已成功。还是感谢。

# by James

惱人問題迎刃而解,感謝你分享研究結果。

# by crescent

问题执行最后这个命令的时候,显示的是: 操作失败并显示0x80070005 拒绝访问。 无法执行。

# by Jeffrey

to crescent, 由錯誤代碼推論是反安裝程序因權限受阻,需要花點精神排除,這裡有篇參考KB:https://support.microsoft.com/zh-tw/kb/2263120

# by

感謝你分享更新成功

Post a comment