Не удается обойти виртуализацию реестра - PullRequest
0 голосов
/ 19 марта 2012

Я создал подраздел реестра, HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector.Когда я загружаю этот подраздел с помощью окон непосредственного доступа Visual Studio, когда запущенное приложение не запущено, я могу прочитать подраздел.

Однако, когда мое приложение ищет HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector, оно не может его найти.Он даже не может найти HKEY_LOCAL_MACHINE\SOFTWARE\MyApp.Это как если бы там было другое

Однако, когда я запускаю приложение в режиме отладки и оно приостановлено, точно такой же код не может найти HKEY_LOCAL_MACHINE\SOFTWARE\MyApp, не говоря уже о HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector.

Посленемного копаться, похоже, я стал жертвой виртуализации реестра.Поэтому я добавил манифест, который заставляет приложение требовать прав администратора (диалоговое окно UAC), но виртуализация реестра все еще происходит.Документация Microsoft по этому вопросу утверждает, что это не должно иметь место.Помогите!

1 Ответ

2 голосов
/ 19 марта 2012

Возможно, вы подвержены перенаправлению реестра Wow64 вместо (или вместе с?) Виртуализации реестра:

Windows наверняка много дыма и зеркал происходит при доступе к реестру.

...