2014-07-24 5 views
1

VB6에서 개발 한 오래된 응용 프로그램이 있는데, 이제는 64 비트 시스템 (Windows 8)에서 레지스트리를 작성하는 관리자 권한이 필요한 C#의 일부 추가 기능 (DLL을 구성 요소로 사용)이 있습니다.VB6 EXE를 프로그래밍 방식으로 관리자로 실행하는 방법은 무엇입니까?

"관리자 권한으로 실행"을 마우스 오른쪽 버튼으로 눌러 응용 프로그램을 실행하면 프로그램이 올바르게 작동하고 DLL이 레지스트리에 기록되지만 일반 사용자 레지스트리로 실행하면 쓰기가 실패합니다.

HKLM에 레지스트리 값을 추가하면 ... AppCompatFlags-> 레이어가 작동하지만 계층 적으로 또는 설정 중 (현혹 9 사용) 해당 값을 추가하는 방법은 알고 있습니까?

답변

3

보통 appcompat 데이터베이스를 설치하여 설치시 appcompat를 적용합니다. 새로운 버전이 게시 된 경우 Application Compatibility Toolkit 또는 최신 버전을 참조하십시오. 또한 Deploying Application Compatibility Databases for Windows 7을 참조하십시오.

그러나 훨씬 간단한 솔루션은 고도를 요청하는 프로그램에 응용 프로그램 매니페스트를 포함시키는 것입니다.

당신이 이것을 깨닫지 못하고 그것을 성취하는 방법을 알고 있다면 2006 년부터 잠을 자고 있었음에 틀림 없지만 MSDN 블로그와 같은 웹 사이트를 검색하면 몇 가지 해답을 찾아야합니다. 요리 책 VB6에 접근하면 인기있는 VB6 포럼 및 블로그 사이트 (자습서 및 예제의 StackOverflow보다 훨씬 친숙한 경향이있는)를 검색 할 수 있습니다.

+0

감사합니다. 임베디드 매니페스트 파일을 만들려면 MMMPack이 있어야합니다. – seopower