上次在虛擬機的Windows Server 2008上安裝Sql Server 2012 RTM時十分順利,今天在另個一台Windows Server 2008上安裝SQl Server 2012時卻遇到了麻煩,錯誤提示:“Microsoft .NET Framework 4.0 installation has failed with exit code 1642”
經過比較分析,后者安裝了visual Studio 2010 SP1和SQL Server 2008 r2 SP1。
卸載SQL Server 2008 r2 及SP1后重新安裝,錯誤依然。
卸載visual Studio 2010 及SP1后重新安裝,錯誤依然。
用Windows Install Clean Up卸載所有與這兩項有關的項后重新安裝,錯誤依然。
最后,想到這可能是.NET Framework 4.0.30319 SP1版本高於SQL Server 2012安裝包中的.NET Framework 4.0.30319,因而導致沖突。於是:
在控制頁面板中:刪除"Microsoft .NET Framework 4 Extended"及“Microsoft .NET Framework 4 Client Profile”,還有“Microsoft .NET Framework 4 Multi-Targeting Pack”共三項,注意,要先將其恢復至原始狀態,再刪除,否則無法刪除。
重新啟動然后重新安裝,一次成功!
再重新安裝Visual Studio 2010 SP1,以順便升級.NET Framework 4.0.30319 SP1。
后參考這兩篇文章,發現有另外方法亦可一試:
主要是解決注冊表以下三鍵:
reg add "HKLM\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Extended\KB2533523" /v ThisVersionInstalled /t REG_SZ /d "Y"
reg add "HKLM\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Extended\KB2544514" /v ThisVersionInstalled /t REG_SZ /d "Y"
reg add "HKLM\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 4 Extended\KB2468871" /v ThisVersionInstalled /t REG_SZ /d "Y"
說明:
1、前面一項是針對Framework 4.0的SP1版本,后兩項是針對Framework 4.5的預覽版,其目的是讓安裝程序跳過檢查。
2、64位的系統需要創建64位的注冊鍵。
