views:

1167

answers:

3

Hi,

On 64-bit platform, installed-check is getting failed for SQL Reporting Services and Add-ins. Installer is checking the registry entries under path "HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names" and registry entry is available out there but since MS SQL Server is a 64-bit application, therefore, the installer is redirected to the path "HKEY_LOCAL_MACHINE\Software\WOW6432node\Microsoft\Microsoft SQL Server\Instance Names" and there are no entries for the same. So install check is getting failed.

Workaround : I have tested it with manually creating entries under "HKEY_LOCAL_MACHINE\Software\WOW6432node\Microsoft\Microsoft SQL Server\Instance Names\RS" and after that install check is successful.

In short "On x64-Platform, installed-check is referring registry keys from WOW6432node and not the 64-bit ones"

So, how could I force my 32-bit Installer to access 64-bit registries for correct installed-check ?

I have tried RegDisableReflectionKey and related functions as an alternative for Registry Redirection, but it didn't work at my end.

Any suggestions other than this will be most appreciated.

Thanks,

Vishwajit

A: 

Microsoft has published information on Registry Reflection which includes a description of the KEY_WOW64_64KEY for RegOpenKeyEx.

jdigital
Thanks. Now here is the other problem for WIX : Through WIX, when I’m fetching installation path for a 64-bit components by accessing its registry key, because of registry redirection it is redirected to WOW6432node where registry keys doesn’t exist. So, through WIX, is there any way to look into the 64-bit Registry View with only Single MSI creation? As far as I know, a component must be marked as Win64="yes" in order to cause registry entries to be written under the 64-bit registry hive instead of the WOW64 registry hive. Any other suggestions?
A: 

Right. Accessing an alternate registry view is the answer. Well this will not disable the registry redirection but helps in correct install check.

I've handled this issue in the Installer by forcing it to look into 64-bit Registry View when an install check is made for 64-bit component.