Disabling registry redirection for a registry key on an x64 platform

64-bit, redirect, registry

Solution

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

Problem

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?

Original source

Related problems