禁用x64平台上的注册表项的注册表重定向

use*_*572 5 registry 64-bit redirect

在64位平台上,SQL Reporting Services和加载项的安装检查失败.安装程序正在检查路径"HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names"下的注册表项,并且注册表项可用,但由于MS SQL Server是64位应用程序,因此安装程序将重定向到路径"HKEY_LOCAL_MACHINE\Software\WOW6432node\Microsoft\Microsoft SQL Server\Instance Names"并且没有相同的条目.因此安装检查失败.

解决方法:我已经通过在"HKEY_LOCAL_MACHINE\Software\WOW6432node\Microsoft\Microsoft SQL Server\Instance Names\RS"下手动创建条目对其进行了测试,然后安装检查成功.

简而言之,在x64平台上,installed-check指的是来自WOW6432node的注册表项,而不是64位的注册表项.

那么,我如何强制我的32位安装程序访问64位注册表以进行正确的安装检查?

我已经尝试过RegDisableReflectionKey和相关函数作为注册表重定向的替代方法,但它在我的结束时不起作用.

我该如何解决这个问题?

jdi*_*tal 6

Microsoft已发布有关Registry Reflection的信息,其中包含RegOpenKeyEx 的KEY_WOW64_64KEY的说明.