即使以管理员身份运行 c# .NET 4,vs2010 的不稳定行为也会获得 HKLM 值
对于将作为 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
汉斯的评论是正确的,恶魔是注册表虚拟化。
请参阅我的后续问题:
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.