UAC manifest setting(매니페스트에 UAC 정보 포함)
[원문]
https://msdn.microsoft.com/en-us/library/bb384691.aspx#
asInvoker: The application will run with the same permissions as the process that started it. The application can be elevated to a higher permission level by selecting Run as Administrator.
highestAvailable: The application will run with the highest permission level that it can. If the user who starts the application is a member of the Administrators group, this option is the same as requireAdministrator. If the highest available permission level is higher than the level of the opening process, the system will prompt for credentials.
requireAdministrator: The application will run with administrator permissions. The user who starts the application must be a member of the Administrators group. If the opening process is not running with administrative permissions, the system will prompt for credentials.
[번역]
https://msdn.microsoft.com/ko-kr/library/bb384691.aspx#
asInvoker: 응용 프로그램을 시작한 프로세스와 동일한 권한으로 응용 프로그램이 실행됩니다. 관리자 권한으로 실행을 선택하면 응용 프로그램의 권한 수준을 높일 수 있습니다. [Parent Process의 토큰을 그대로 따라간다. 빌드할 때 기본적으로 설정되어져 있는 UAC Manifest 값이다. 보통 일반적인 어플리케이션의 평범한 실행을 할때 요구되는 권한이다]
highestAvailable: 최대한 높은 권한 수준으로 응용 프로그램이 실행됩니다. 응용 프로그램을 시작하는 사용자가 관리자 그룹의 멤버이면 이 옵션은requireAdministrator와 같습니다. 사용 가능한 가장 높은 권한 수준이 응용 프로그램을 여는 프로세스의 수준보다 높으면 자격 증명을 입력하라는 메시지가 표시됩니다. [현재 로그인 된 유저의 권한을 따라간다. 예를 들어 현재 로그인 된 유저가 슈퍼관리자라면, 슈퍼관리자의 권한으로 실행하고, 일반 사용자라면 일반 사용자의 권한으로 실행한다.]
requireAdministrator: 응용 프로그램이 관리자 권한으로 실행됩니다. 응용 프로그램을 시작하는 사용자는 관리자 그룹의 멤버이어야 합니다.응용 프로그램을 여는 프로세스가 관리자 권한으로 실행되고 있지 않은 경우 자격 증명을 입력하라는 메시지가 표시됩니다. [실행되기 위해서는 무조건 관리자 권한이 필요하다.]