This week we will discuss one of the most common error messages we get while we install the SQL version of Windows. This is the third article of the SQL Troubleshooting series we started two weeks ago. Last week we discussed issues caused by Performance counters issues.
MsiGetProductInfo failed to retrieve ProductVersion
This week we are going to discuss the error:
MsiGetProductInfo failed to retrieve ProductVersion for package with Product Code = ‘{A2122A9C-A699-4365-ADF8-68FEAC125D61}’ Error code 1605 or 1608.
The GUID will vary case to case so for this article I’m going to use this particular GUID.
The main reason why we get this error message is because of the leftovers of the previous version of SQL. So if it’s a fresh install, say on a new computer or a PC that never had SQL before, you most probably won’t be getting this error message. So there are actually two ways to resolve this problem. One is the traditional method and the other is something we came up with. So I would always recommend following the traditional method.
Method 1:
This method is where we will find the GUID responsible for the registry and delete it. Unfortunately, it’s not as easy as it sounds. How it works is we need the reverse search of the GUID to find it in the registry. That’s weird. I know well that only way to get it to work.
The first setup is to exit the installation and shut down all the applications
Then go to the registry and create a backup of the registry. Follow this article Backup and Restore Registry in Windows.
Now go to paste the GUID in a note pad then reverse the value i.e.:
{A2122A9C-A699-4365-ADF8-68FEAC125D61}
Change to {C9A2212A-996A- …. }
Now go to Edit and click on File and type in {C9A2212A-996A- …. }
Once you find the key delete it.
In some cases, the installer will give you multiple keys. So you need to search for each key that you get the error message and delete it. Once you are down go ahead and reboot your system and try to install SQL. In very rare cases, you might get error messages related to permission, something like-
In such cases, go to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components
And find the relevant key and take ownership and give full permissions.
Method 2
This method is a little risky but should work on the first attempt. Make sure you don’t reboot the system until we complete the process. In this method, we will make the UpgradeCodes unusable until we finish the SQL install.
- The first setup is to exit the install and shut down all the applications
- Then go to registry and create a backup of the registry.
- Now go to HKEY_Classes_Root\Installer\UpgradeCodes.
- Right-click on UpgradeCodes and click on Export and type in UC.reg and save it somewhere (Maybe Desktop)
- Then right-click again and click on rename and rename to UpgradeCodes.old
Now attempt to install SQL again. This time it should work on the first try.
Ensure you don’t reboot the system because sometimes other applications like MS Office might stop working.
Once the installation is complete, close the installer and find the file you saved UC.reg and double click on it and click OK. Now we have up the UpgradeCodes back again.
Well, one of these methods should definitely work for you. Just be careful while working with the registry.
I hope you found this article helpful.