- 정상적으로 빌드되어 vistakms.exe 파일 생겼다고 하자
- 메모장 또는 VS2005에서 vistakms.exe.manifest 파일을 생성한다.
- 생성된 vistakms.exe.menifest에 아래와 같은 코드를 붙여 넣기한다
- 가장 가운데 3줄의 소스가 중요하다.
각 옵션을 선택 가능한데, 옵션은 아래와 같이 3가지이다.
asInvoker—어플리케이션이 부모 프로세스와 동일한 토큰으로 실행됩니다.
highestAvailable—어플리케이션이 현재 사용자가 사용할 수 있는 최고 권한으로 실행됩니다.
requireAdministrator—어플리케이션이 관리자에 대해서만 실행되므로 관리자의 전체 토큰으로 어플리케이션을 시작해야 합니다.
- vistakms.exe.menifest 파일을 abc.exe 파일과 동일한 폴더에 위치 시킨다. 작업하기 편하게 하기 위해
- 명령창을 띄우고, mt.exe 파일이 여부를 확인하고, 없다면, 다운로드 받아 설치 한다.
- 명령 프롬프트 창에서 다음과 같이 명령어를 입력한다.
mt -manifest vistakms.exe.manifest -outputresource:vistakms.exe;#1
Windows Vista에서는 관리자 권한에서 실행해야 하는 부분들이 존재한다.
Vista에서는 내가 Administrators 그룹이라 할지라도 UAC라는 기능때문에 설치 또는 관리적인 작업이 필요시는 권한상승을 묻거나, 사용자 계정/ 패스워드를 넣어야만 진행이 가능하다.
그리하여 일반적인 Application을 개발시는 그 점을 유의해야 한다.
Manifest 파일을 어떻게 추가 할 수 있는지 방법을 알아 보겠다
C#으로 Win Form 의 Application 을 간단히 만든다고 생각하자
8. 완료 후 폴더에 가보게 되면
9.방패모양이 나타난것을 볼 수 있다. 위의 방패 모양이 나타난다는 것은 실행파일 즉 vistakms.exe 파일을 실행시 권한 여부를 묻게되고 실행을 하면 관리자 권한으로 상승되어 설치되는 것을 볼 수 있다.
[출처] Manifest 파일 추가시키는 방법|작성자 구우사마