2012-03-19 2 views
0

레지스트리에 하위 키 HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector을 만들었습니다. 실행 된 응용 프로그램이 실행되지 않는 동안 Visual Studio의 Immediate 창을 사용하여이 하위 키를로드하면 해당 하위 키를 읽을 수 있습니다.레지스트리 가상화를 무시할 수 없습니다.

그러나 내 응용 프로그램이 HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector을 찾으면 찾을 수 없습니다. HKEY_LOCAL_MACHINE\SOFTWARE\MyApp도 찾을 수 없습니다.

그러나 디버그 모드에서 응용 프로그램을 실행할 때 일시 중지되면 정확히 동일한 코드에서 HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector을 제외하고 HKEY_LOCAL_MACHINE\SOFTWARE\MyApp을 찾을 수 없습니다.

약간 파고 들자 레지스트리 가상화의 희생양이 된 것처럼 보입니다. 그래서 앱에 관리자 권한 (UAC 대화)이 필요한 매니페스트를 추가했지만 레지스트리 가상화는 여전히 발생하고 있습니다. 이 문제에 대한 Microsoft의 설명서는 이것이 사실이 아니어야한다고 주장합니다. 도움!

+0

아마도 레지스트리 가상화 대신 Wow64 레지스트리 리디렉션의 영향을받는 것일 수 있습니다. http://msdn.microsoft.com/ko-kr/library/aa384253.aspx Windows에서 많은 연기가 나고 레지스트리에 액세스 할 때 미러링이 계속됩니다. –

+0

예, WoW64가 범인입니다. 어떤 이유로 어셈블리가 모든 CPU 대신 x86을 대상으로했습니다. 나는 모든 CPU로 그것을 바꿨고 효과가 있었다. 의견을 답변으로 바꾸면 받아 들일 것입니다. 감사합니다 :) –

+0

@ 스티브 당신은 정말로 관리자 권한을 필요로하고 싶지 않아요. –

답변

1

아마도 당신이 (? 또는 함께) 대신 WOW64 레지스트리 리디렉션에 의해 영향을 받고있는 레지스트리 가상화 :

레지스트리.

+0

WoW64를 그림 밖으로 가져 오는 모든 CPU (x86)로 빌드하십시오. 문제 해결됨. 감사. –