解決sqlserver安裝時1608或1605錯誤提示
在一次解除安裝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的關係進行了介紹,有助於解決更為複雜的問題,希望有所幫助。