비스타와 윈도우 7에서 실행하는 모든 애플리케이션은 UAC 레벨의 영향을 받는데요. 이런 이유로 관리자 권한을 요구하는 XP 전용 프로그램의 경우 비스타와 윈도우 7에서 실행이 안 되는 경우가 많고 이럴 때 VistaUACMaker를 이용하면 편리합니다. (시작 프로그램에 등록하고 싶은데 실행 시마다 관리자 권한을 물어보는 프로그램도 VistaUACMaker로 해결하면 좋을 듯 합니다.)
다운로드 VistaUACMaker 1.5
UAC와 상관 없이 애플리케이션을 실행하려면 manifest 파일이 필요한데요. manifest 파일은 주로 해당 애플리케이션의 resource 폴더에 위치해 있고 대충 아래와 같은 구조를 가지고 있습니다.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" processorArchitecture="*" version="1.0.0.0"
name="MyApplication.exe"></assemblyIdentity>
<description>Vista Application</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" language="*" processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"></assemblyIdentity>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"
uiAccess="FALSE"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
아무튼 이런 menifest 파일을 VistaUACMaker는 쉽게 만들어 주는데 애플리케이션 실행 파일 위치와 프로젝트 설명을 지정해주고 권한 레벨을 설정해주면 됩니다.
Required Privilege Level은 3가지를 선택할 수 있으며 다음과 같습니다.
- requireAdministrator : 관리자 권한으로 실행
- asInvoker : 부모 프로세스와 같은 권한으로 실행
- highestAvailable : 현재 유저에게 가장 높은 권한으로 실행
마지막에 있는 Does your application interacts with high privilege windows on desktop?은 다른 애플리케션 UI에 간섭하는지 여부를 체크하는 항목입니다. 이제 모든 설정을 마친 후 하단의 Make It 버튼을 누르면 추후 해당 애플리케이션은 일반 권한이 아닌 관리자 또는 선택한 레벨의 권한으로 실행됩니다.
TRACKBACK :: http://webchobo.com/trackback/1075
댓글을 달아 주세요
덕분에 http://securityxploded.com 라는 걸출한(?) 사이트를 알게 되어 감사합니다.
2009/07/21 22:18그러고보니 꽤나 쓸만한 유틸리티들을 많이 제공하네요.. ㅎㅎ
2009/07/25 17:22리눅스나 유닉스계열 OS에선 root 권한으로 어플을 실행시키는건 금기에 가까운걸로 알고 있는데, Windows 계열은 언제나 그렇게 될지... 이렇게 관리자 권한 요구가 일반적이어서야 또다른 바이러스 대란은 안봐도 뻔합니다.
2009/07/22 05:37몇십년을 이렇게 사용해 왔으니 머리로는 인정해도 몸으로는 불편하게 느껴지는게 당연한거겠죠.. ;;
2009/07/25 17:24그냥 제어판 -> 사용자계정 -> 사용자 계정 컨트롤 사용 / 사용안함 -> 사용자 계정 컨트롤을 사용하여 컴퓨터를 보다 안전하게 보호를 체크 해제
2009/07/22 11:53이렇게 하면 특별히 프로그램을 깔지 않더라도 UAC창은 뜨지 않고 관리자로 인식됩니다만.....이거랑 어떤 차이가 있는지 궁금하네요
'항상' 관리자 권한으로 실행하는 것과 '특정 시기에만' 실행하는 것의 차이겠지요?
2009/07/22 15:26네.. 아크몬드님 말씀대로 UAC 정책은 그대로 유지하면서 특정 애플리케이션만 선택적으로 UAC에서 해방하는 방법입니다.. ㅎㅎ
2009/07/25 17:25이 프로그램에서 project executable file 을 어떻게 설정을 하고 Make it 을 눌러야 되나요?
2009/08/06 18:15