2013-03-09 3 views
0

배포 프로젝트로 VS2008 C# winforms. 설정을 저장하려면 레지스트리에 액세스해야합니다. 하지만 외부 매니페스트를 프로젝트에 추가해야합니다. 응용 프로그램에 매니페스트가 포함되어 있지 않으면 레지스트리에 액세스 할 수 없습니다.Win7 UAC 유지 매니페스트를 추가 한 후 팝업으로 유지

(다른 방법이?) 한 설정과

매니페스트 : requestedExecutionLevel 수준 내가 assemblyIdentity 버전이 프로젝트 이름 및 버전과 일치하는지 확인했다

= "requireAdministrator"있는 UIAccess = "false"를.

매니페스트가 모두 제대로 작동하지만 사용자 액세스 제어가 계속 응용 프로그램을 시작할 때마다 계속 나타납니다. 지난 시간에 UAC가 사용자가 확인을 클릭 한 이유는 무엇입니까? 사용자가 매번 클릭하지 않고 한 번 클릭하는 데 만족합니다. 청구하려면 무엇이 필요합니까? 감사합니다.

+2

물론 정상입니다. HKLM 대신 HKCU의 키를 사용하여 고도를 묻지 않아도됩니다. –

+0

예, 고맙습니다. – Lambda

답변

0

requireAdministrator으로 애플리케이션을 표시하는 대신 asInvoker으로 표시하십시오.

그런 다음 관리자 액세스가 필요한 제한된 장소에서 ShellExecute 및 마법 runas 동사를 사용하여 앱 사본을 다시 실행하십시오.

UAC 동의 대화 상자를 실행하고 관리자 권한으로 앱을 실행합니다.