为什么 regedit 会显示不正确的值?

为什么 regedit 会显示不正确的值?

我开发的一个应用程序将数据库连接字符串存储在注册表中。我通过 regedit 更改了该值以指向不同的数据库。我的应用程序仍然在获取旧值。我确信我做错了什么,因此检查了代码,重新启动,搜索了注册表以验证没有其他同名的键。毫无进展。我甚至删除了该键,重新启动,我的应用程序仍然能正常读取该值。

然后我使用 PowerShell 列出值(通过 Get-ItemProperty),结果也显示了旧值。使用 Set-ItemProperty 更新值,然后我的代码成功获取了该值。但是,regedit 仍然显示旧数据。甚至让另一位开发人员和一位系统工程师查看了情况,以进行完整性检查。没有主意。

知道为什么 regedit 似乎没有显示与 Get-ItemProperty 相同的信息吗?

答案1

事实证明,regedit 未显示或修改与 PowerShell 相同的信息的原因是,当时我不知道,我是从 c:\Windows\SysWOW64 运行 regedit,而不是从 c:\Windows 运行。

答案2

所以它不只是读取 HKLM\Software\Wow6432Node 中的内容?还运行 C:\Windows\SysWOW64\Odbcad32.exe,看看它是否从那里获取设置。

相关内容