Wednesday, June 10, 2009

MsiGetProductInfo failed to retrieve ProductVersion for package during install

Today, I was trying to upgrade SQL on one of my servers from 2000 to 2008. Fortunately, that process went so smooth, in fact smoother than I had expected it to.

However, knowing the nature of IT, I had to be skeptical that absolutely everything was going to run smoothly. Sure enough, I go to the part where I was upgrading the Server Management Studio from 2005 to 2008. That process didn't exactly go as smooth.

As I was doing an upgrade install of the tools from 2005 to 2008, I would get the following message:

TITLE: SQL Server Setup failure.
SQL Server Setup has encountered the following error:
MsiGetProductInfo failed to retrieve ProductVersion for package with Product
Code = '{AEB9948B-4FF2-47C9-990E-47014492A0FE}'. Error code: 1608..

Well, that certainly was interesting. When I went to try to uninstall SQL 2005 from Add/Remove programs, It acted as if everything was working fine, though, the uninstaller would do its thing, and quit pretty quickly, without removing the program. I tried to use the Windows Installer Cleanup Utility, unfortunately, the SQL installation was the only one that was not showing in there. Running some additional google searches revealed some articles that were related to my problem, though, non of which actually resolved my problem. The problem here referred to MSXML6 MSI being corrupt, and using the Orca tool to tweak the MSI. In my case, MSXML6 was installed correctly, and was able to uninstall and reinstall it without any problems.

Some other articles I ran into are here and here. Unfortunately, non of those helped my situation.

At the end it dawned on me to try the one thing I still hadn’t tried. I whipped out the SQL 2005 CD, and reinstalled the 2005 tools on top of the supposedly corrupt version. Once that installation completed, I re-ran the SQL 2008 setup, with an update option. and bam ! the installer seemed to work this time. I guess not all complex problems have to have complex solution.

The only caveat to this process is that I was still able to see the 2005 instance in Add/Remove programs. So, I guess 2008 doesn’t really do an in-place upgrade. I just  had to uninstall 2005, and leave 2008, and everything was dandy.

Hope this process helps someone if they ran into the same issue.

No comments: