禁用注册表重定向在x64平台上的注册表项 [英] Disabling registry redirection for a registry key on an x64 platform
问题描述
在64位平台上,安装检查失败的SQL报告服务和加载项。安装程序正在检查下路径HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ Microsoft SQL Server的\实例名称的注册表项和注册表项可在那里,但由于MS SQL Server是一个64位应用程序,因此,安装程序将被重定向到路径有HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432node \微软\ Microsoft SQL Server的\实例名称,并且是同一个没有条目。因此,安装检查失败。
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.
解决方法:我曾与在手动创建条目测试了它HKEY_LOCAL_MACHINE \ SOFTWARE \ WOW6432node \微软\ Microsoft SQL Server的\实例名称\ RS,之后安装检查成功
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.
总之,在x64平台上,安装检查是指由WOW6432node注册表项,而不是64位的。
In short, on an x64 platform, installed-check is referring registry keys from WOW6432node and not the 64-bit ones.
所以,我怎么能强迫我的32位安装程序来访问64位登记的正确安装检查?
So, how could I force my 32-bit installer to access 64-bit registries for correct installed-check?
我已经试过RegDisableReflectionKey和相关的函数中的注册表重定向的另一种选择,但它并没有在我结束工作。
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?
推荐答案
上的注册表反射其中包括 KEY_WOW64_64KEY 的RegOpenKeyEx的。
Microsoft has published information on Registry Reflection which includes a description of the KEY_WOW64_64KEY for RegOpenKeyEx.
这篇关于禁用注册表重定向在x64平台上的注册表项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!