- 정상적으로 빌드되어 vistakms.exe 파일 생겼다고 하자
- 메모장 또는 VS2005에서 vistakms.exe.manifest 파일을 생성한다.
- 생성된 vistakms.exe.menifest에 아래와 같은 코드를 붙여 넣기한다
- 파란색 부분의 소스가 중요하다.
- vistakms.exe.menifest 파일을 abc.exe 파일과 동일한 폴더에 위치 시킨다. 작업하기 편하게 하기 위해
- 명령창을 띄우고, mt.exe 파일이 여부를 확인하고, 없다면, 다운로드 받아 설치 한다.
- 명령 프롬프트 창에서 다음과 같이 명령어를 입력한다.
Windows Vista에서는 관리자 권한에서 실행해야 하는 부분들이 존재한다.
이미 연재를 보고 알고 있겠지만, UAC 및 WRP 등의 계급 사회가 도래 하였기 때문에 내가 Administrators 그룹이라 할찌라도 설치 또는 관리적인 작업이 필요시는 권한상승을 묻거나, 사용자 계정/ 패스워드를 넣어야만 진행이 가능하다.
그리하여 일반적인 Application을 개발시는 그점을 유의해야 한다.
Manifest 파일을 어떻게 추가 할 수 있는지 방법을 알아 보겠다
C#으로 Win Form 의 Application 을 간단히 만든다고 생각하자
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<!--<requestedExecutionLevel level="asInvoker" uiAccess="false" />-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />-->
<!--requestedExecutionLevel level="highestAvailable" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
? </assembly>
각 옵션을 선택 가능한데, 옵션은 아래와 같이 3가지이다.
asInvoker—어플리케이션이 부모 프로세스와 동일한 토큰으로 실행됩니다.
highestAvailable—어플리케이션이 현재 사용자가 사용할 수 있는 최고 권한으로 실행됩니다.
requireAdministrator—어플리케이션이 관리자에 대해서만 실행되므로 관리자의 전체 토큰으로 어플리케이션을 시작해야 합니다.
mt -manifest vistakms.exe.manifest -outputresource:vistakms.exe;#1
8. 완료 후 폴더에 가보게 되면
9.방패모양이 나타난것을 볼 수 있다. 위의 방패 모양이 나타난다는 것은 실행파일 즉 vistakms.exe 파일을 실행시 권한 여부를 묻게되고 실행을 하면 관리자 권한으로 상승되어 설치되는 것을 볼 수 있다.
'Coding > Vista Issue' 카테고리의 다른 글
Windows Vista UAC(3) - How UAC Works(3) (0) | 2011.09.19 |
---|---|
Windows Vista UAC(2) - How UAC Works(1) (0) | 2011.09.19 |
Windows Vista UAC(1) - Why User Account Control? (2008.03 - 네이버 블로그 옮김) (0) | 2011.09.19 |