注册表项在Windows 7 64位中有所不同

时间:2011-10-20 04:07:48

标签: .net windows-7 registry windows-7-x64

我安装了福昕阅读器软件(PDF阅读器)

我的应用程序通过检查以下条目是否存在来检查是否已安装此软件。

HKEY_LOCAL_MACHINE \ SOFTWARE \ Foxit Software \ Foxit Reader

除了Windows 7 64位以外,所有Windows操作系统都能正常运行。在调查时,我发现该软件的注册表项位于不同的位置。下面是位置。

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Foxit Software

如何检查Foxit Reader是否安装正确,它应该适用于所有版本的Windows操作系统。

感谢。任何帮助非常感谢。 :)

2 个答案:

答案 0 :(得分:4)

编辑:

Wow6432Node是32位条目所在的位置。 64位在HKLM \ Software。在.net 4.0中,添加了该功能以便轻松读取tehm。

请参阅此示例代码:

http://www.rhyous.com/2011/01/24/how-read-the-64-bit-registry-from-a-32-bit-application-or-vice-versa/

如果没有4.0,则必须输入advapi32.dll并使用RegOpenKeyEx,RegCloseKey和RegQueryValueEx。

答案 1 :(得分:0)

我可能会检查这两个位置。你可以专门查看32位注册表位置,但是你将无法检测到64位版本的Foxit(如果它曾被创建过)。