【发布时间】:2012-10-05 16:16:45
【问题描述】:
我有一个 C# 程序 (VS2010),它将值写入我们创建的几个 HKEY_CURRENT_USER 注册表项。通常这在Win XP, Vista, and 7, x86 and x64 上工作正常。但是在某些机器上,密钥只是没有被写入。没有抛出异常,之后键和值就不存在了。
我们正在竭尽全力想弄清楚为什么会发生这种情况。这真的是零星的......在一台机器上它不起作用 - 但在同一个办公室或域中的所有其他机器上都可以工作。
我们应该寻找什么?
【问题讨论】:
-
你在 HKCU 的什么地方创建它们?
-
一个在 HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins 下,另一个在 HKEY_CURRENT_USER\Software\MyCompanyName\MyApplication 下。据我们所知,两者都不是由 C# 程序编写的。我们可以使用 RegEdit 复制内容。
-
你可以检查那些你的密钥没有被写入其中一些机器上的 KEY_CURRENT_USER\Software\Wow6432Node\... (而不是 HKEY_CURRENT_USER\ Software\Microsoft\... 位置)。
-
不确定这一切发生在什么情况下,但大多数都是 32 位的。
-
出现故障的机器的操作系统/架构是什么?