-
반응형
C# 프로젝트에서 빌드된 프로그램이 관리자 권한으로 실행되도록 하려면 애플리케이션 매니페스트 파일을 수정하여 관리자 권한을 요청하도록 설정해야 합니다.
프로젝트의 Properties에 app.manifest가 있는 경우에는 이 파일을 열어서 바로 수정하면 되지만 없는 경우에 app.manifest 파일을 추가하는 방법은 다음과 같습니다.
프로젝트에 app.manifest 파일 추가하는 방법
1) 프로젝트의 Properties를 우클릭 한 다음, [추가] > [새 항목] 클릭
2) 애플리케이션 매니페스트 파일 선택 후 [추가]하기
3) 아래 이미지처럼 Properties에 없었던 app.manifest 파일이, 아래 이미지와 같이 추가 됩니다.
↓↓↓
app.manifest 파일 수정하기
이제 app.manifest 파일이 프로젝트에 추가되었습니다. 이 파일을 열어서 애플리케이션 매니페스트의 내용을 편집할 수 있습니다. 참고로 애플리케이션 매니페스트를 사용하여 애플리케이션의 권한, 호환성 설정, UI 스타일 등을 구성할 수 있습니다.
그 중에서 권한을 설정하여 관리자 권한으로 실행되게 하는 방법은 다음과 같습니다.
1) requestedExecutionLevel에 있는 level="asInvoker"를 level="requireAdministrator"로 변경합니다.
↓↓↓
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
2) </requestedPrivileges>와 </security> 사이에 applicationRequestMinimum을 추가합니다.
↓↓↓
<applicationRequestMinimum> <defaultAssemblyRequest permissionSetReference="Custom" /> <PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" /> </applicationRequestMinimum>
해당 코드는 다음과 같은 내용을 나타냅니다.
● <applicationRequestMinimum>: 이 섹션은 애플리케이션이 요청하는 최소 실행 권한을 지정합니다.
● <defaultAssemblyRequest permissionSetReference="Custom" />: 이 부분은 기본 어셈블리 요청을 정의합니다. permissionSetReference 속성은 사용자 정의 권한 집합을 참조하는 것을 나타냅니다.
● PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" />: 이 부분은 실제로 사용자 정의 권한 집합을 정의합니다. Unrestricted="true" 속성은 이 권한 집합이 제한 없이 모든 권한을 가진 것으로 정의되어 있음을 의미합니다.
위 코드를 사용하면 애플리케이션 매니페스트 파일을 통해 애플리케이션이 관리자 권한을 요청하고, 사용자에게 실행 시 UAC 대화상자가 나타날 것입니다. 사용자가 이를 허용하면 애플리케이션이 관리자 권한으로 실행됩니다.
반응형'기타 정보 > 정보공유-IT' 카테고리의 다른 글
PowerShell을 이용하여 로그 파일을 실시간으로 모니터링 하기 (0) 2024.01.07 비주얼 스튜디오 2022에서 인텔리센스 설정하는 방법 (0) 2023.10.18 갑자기 내 사이트가 안 뜬다. 티스토리에 연결한 도메인DNS_PROBE_FINISHED_NXDOMAIN 오류 해결 방법 (0) 2023.05.25 비주얼 스튜디오에서 깃허브 커밋한 것을 삭제(취소, 롤백, 리셋)하는 방법 (0) 2023.03.23 구글 Chrome 원격 데스크톱에서 한/영 키가 안 될 때 (키보드에 한/영 키가 없거나, Alt나 다른 키로 되어 있을 때) 되게 하는 방법 (0) 2023.03.08