为祖国健康工作50年

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  38 随笔 :: 0 文章 :: 338 评论 :: 0 引用

公告

在一次卸载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》

posted on 2011-09-26 17:06 lerit 阅读(476) 评论(0) 编辑 收藏