вонючее поведение vs2010 получить значение HKLM даже с Run As Administrator c # .NET 4 - PullRequest
0 голосов
/ 02 февраля 2011

Для приложения, которое будет работать как служба 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 имеет значение null.

Перед отладкой я проверяю, имеет ли сбойное приложение
последняя версия моей библиотеки подпрограмм реестра.

Версия vs2010 Pro работает под Windows 7.

Помогите, пожалуйста и спасибо.

1 Ответ

0 голосов
/ 12 февраля 2011

Ганс прав в своем комментарии, что демон - это виртуализация реестра.

Пожалуйста, смотрите мой вопрос:

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

Спасибо.

...