即使以管理员身份运行 c# .NET 4,vs2010 的不稳定行为也会获得 HKLM 值

发布于 2024-10-15 17:05:52 字数 871 浏览 1 评论 0原文

对于将作为 Windows 服务运行的应用程序
我将设置值存储在 HKLM\Software... 注册表项中。

我有一个可以访问我的注册表值的库。

我有一个简单的测试控制台应用程序,用于验证代码是否有效。

要通过我的测试控制台应用程序进行调试,我必须以管理员身份运行 vs2010。

一切正常:

Console.WriteLine(WindowsRegistry.getTaleoOrgCode("test"));

通过调试调用

Microsoft.Win32.RegistryKey hklmLocalMachineRoot =
Microsoft.Win32.Registry.LocalMachine;
Microsoft.Win32.RegistryKey hklmLocalMachineHbsiTaleoClient =
hklmLocalMachineRoot.OpenSubKey(@"SOFTWARE\Taleo\" + clientName.Trim(), false);
 // read only
if (hklmLocalMachineHbsiTaleoClient != null)

,很明显 hklmLocalMachineHbsiTaleoClient 不为空。

我有一个使用上述库子例程的应用程序。

我也在 vs2010 中以管理员身份启动该应用程序。

通过调试,很明显 hklmLocalMachineHbsiTaleoClient 为空。

在调试之前,我确保失败的应用程序
有我的注册表例程库的最新版本。

vs2010 Pro版本在Windows 7下运行。

请帮忙,谢谢。

For an application that will run as a windows service
I store settings values in a HKLM\Software... registry key.

I've a library that accesses my registry values.

I've a simple test console application that I use to verify that the code works.

To debug via my test console application, I must run vs2010 as administrator.

Everything works:

Console.WriteLine(WindowsRegistry.getTaleoOrgCode("test"));

invokes

Microsoft.Win32.RegistryKey hklmLocalMachineRoot =
Microsoft.Win32.Registry.LocalMachine;
Microsoft.Win32.RegistryKey hklmLocalMachineHbsiTaleoClient =
hklmLocalMachineRoot.OpenSubKey(@"SOFTWARE\Taleo\" + clientName.Trim(), false);
 // read only
if (hklmLocalMachineHbsiTaleoClient != null)

via debug, it's clear that hklmLocalMachineHbsiTaleoClient is not null.

I have an application that uses the above library subroutine.

I start that application in vs2010 also as administrator.

via debug, it's clear that hklmLocalMachineHbsiTaleoClient is null.

Before debugging, I ensure that the failing application
has the latest version of my registry routines library.

The vs2010 Pro version is running under Windows 7.

Help, please and thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

飘落散花 2024-10-22 17:05:52

汉斯的评论是正确的,恶魔是注册表虚拟化。

请参阅我的后续问题:

https://stackoverflow.com/questions/4980211/how-do-i-search-all-non-virtual-and-virtual-registries-in-vista-win7-et-cetera

谢谢。

Hans is right in his comment that the demon is registry virtualization.

Please see my follow up queestion:

https://stackoverflow.com/questions/4980211/how-do-i-search-all-non-virtual-and-virtual-registries-in-vista-win7-et-cetera

Thank you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文