Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disabling registry redirection for a registry key on an x64 platform

On a 64-bit platform, installed-check fails for SQL Reporting Services and Add-ins. The 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 the install check fails.

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 the install check is successful.

In short, on an 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.

How can I fix this problem?

like image 887
user223572 Avatar asked Jan 06 '10 07:01

user223572


1 Answers

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

like image 151
jdigital Avatar answered Oct 29 '22 00:10

jdigital