Windows 64位注册表V.S. 32位注册表 [英] Windows 64-bit registry v.s. 32-bit registry

查看:258
本文介绍了Windows 64位注册表V.S. 32位注册表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我听说在Windows的x64架构,以支持同时运行x86和x64应用程序,有两个独立/套不同的Windows注册表 - 一个用于x86的应用程序来访问,另一个用于64位应用程序来访问?例如,如果一个COM注册CLSID在x86组注册表,那么64位应用程序将永远无法访问由CLSID的COM组件,因为在x86 / x64有不同的套注册表?

I heard on Windows x64 architecture, in order to support to run both x86 and x64 application, there is two separate/different sets of Windows registry -- one for x86 application to access and the other for x64 application to access? For example, if a COM registers CLSID in the x86 set of registry, then x64 application will never be able to access the COM component by CLSID, because x86/x64 have different sets of registry?

所以,我的问题是我上面的示例的理解是否正确?我也希望得到一些更多的文档来学习这个话题,对两套不同的注册表对x64体系结构。 (我做了一些搜索,但没有发现任何有价值的信息。)

So, my question is whether my understanding of the above sample is correct? I also want to get some more documents to learn this topic, about the two different sets of registry on x64 architecture. (I did some search, but not found any valuable information.)

在此先感谢, 乔治

推荐答案

我不久前就遇到了这个问题。简短的回答是,如果你运行在64位计算机上的32位应用程序,那么它的注册表项位于下Wow6432Node。

I ran into this issue not long ago. The short answer is that if you run a 32 bit application on a 64 bit machine then it's registry keys are located under a Wow6432Node.

例如,假设你有一个下存储其注册信息的应用程序:

For example, let's say you have an application that stores its registry information under:

HKEY_LOCAL_MACHINE\SOFTWARE\CompanyX

如果您编译应用程序作为一个64位二进制和64位的机器上运行它,然后在注册表键上面的位置。但是,如果你编译你的应用程序作为一个32位二进制和64位的机器,那么你的注册表信息现在位于这里上运行它:

If you compile your application as a 64 bit binary and run it on a 64 bit machine then the registry keys are in the location above. However, if you compile your application as a 32 bit binary and run it on a 64 bit machine then your registry information is now located here:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CompanyX

这意味着,如果你同时运行32位和64位版本的同一台机器上的应用程序的话,他们将分别在寻找一个不同的注册表项。

This means that if you run both the 32 bit and 64 bit versions of your application on the same machine then they will each be looking at a different set of registry keys.

这篇关于Windows 64位注册表V.S. 32位注册表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆