在winserver 2003上安装winform应用程序时无法读取注册表
本文关键字:读取 注册表 应用程序 winform winserver 2003 安装 | 更新日期: 2023-09-27 18:15:48
我正在制作一个基于c#的win form应用程序。部署时,它将其安装位置写入注册表。现在有一个单独的插件,在部署期间在注册表中查找此值。
现在我遇到的问题是,它在我的32位win 7开发盒上工作得很好。但是在客户端的64位win2003服务器上,主机应用程序能够写入注册表值,但插件从注册表中获得空字符串。其中一个问题可能是无法在服务器上找到注册表。
有什么想法可能是问题,我该如何解决?
在32位上,注册表项将是这样的:
HKEY_LOCAL_MACHINE'SOFTWARE'MyCompany
在64位的情况下,注册表项是这样的:
HKEY_LOCAL_MACHINE'SOFTWARE'Wow6432Node'MyCompany
我猜插件可能需要更新/配置(取决于你如何使用它)来支持64位。
64位版本的Windows通过"Windows上的Windows" (WoW)子系统模拟32位功能。在注册表的情况下,出于兼容性原因,他们将32位键移到一个特殊的子键。
64位操作系统上32位软件的密钥将在:HKEY_LOCAL_MACHINE'SOFTWARE'Wow6432Node
.
这是将system32
映射到SysWOW64
的文件系统重定向器的注册表模拟。
有关注册表重定向的更多详细信息可在MSDN主题中找到。