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

时间:2010-01-06 07:48:12

标签: 64-bit registry 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和相关函数作为注册表重定向的替代方法,但它在我的结束时不起作用。

如何解决此问题?

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

右。访问备用注册表视图就是答案。那么这不会禁用注册表重定向,但有助于正确的安装检查。

我在安装程序中通过强制它在对64位组件进行安装检查时查看64位Registry View来处理此问题。

相关问题