在一次卸載sqlserver後,發現無法重裝了,提示資訊:
TITLE: SQL Server Setup failure.
------------------------------
SQL Server Setup has encountered the following error:
MsiGetProductInfo failed to retrieve ProductVersion for package with Product Code = '{2243F21A-E132-44F7-BA13-024D0845C815}'. Error code: 1605.
google了半天,有些說可能卸載不完整,於是下來sqlserver清除註冊表的工具,依然不行。後來看一些文章最後結論都是只能重裝系統,沒有別的方法。
還好在一些英文論壇中,終於發現如下方法可以解決:
1.根據提示資訊中的Product Code,將第一段中字串倒置,比如上面的得到的就是A12F3422;
2.在註冊表中HKCR\Installer\UpgradeCodes搜尋上面字串,找到後刪除它的父項;
3.重裝sqlserver。
如果操作完畢重裝依然出現錯誤提示,有可能是Product Code已經變了(也就是說不止一個問題),需要重複以上步驟,直到成功安裝為止。(這也是為什麼經常有人試過這個方法後還是提示錯誤資訊的原因,因為殘留的值不止一個)。
註冊表修改有一定危險性,應該做好備份,刪除前最好將相關項目匯出以備恢複之用。
另外這個給出另外兩篇文章,如果以上解決方案依然無法解決,或對於更複雜的一些問題,比如註冊表許可權導致的,以及Installation Codes 和Product Codes的關係進行了介紹,有助於解決更為複雜的問題,希望有所協助。
《Recover manually from SQL Server 2008 installation failure》
《Unable to install SQL 2008 due to the remnants of a previous installation》