개발/C#

[팁] C# 관리자 권한설정

FA1976 2018. 1. 26. 07:44

윈도우 Vista 버전 이후로는 관리자 권한이 중요한 key가 되었습니다.

어플리케이션에서도 마찬가지 인데요.

레지스트리 관리 등의 기능을 하기 위해서는 관리자 권한이 꼭 필요합니다.

그럼 Visual Studio 2008에서 WIndows Form Application을
관리자 권한으로 실행해 보도록 하겠습니다.


우선, 솔루션을 생성합니다.



Solution Explorer 의 솔루션에서 Properties(속성)을 클릭합니다.


Security(보안) 탭으로 가서,
Enable ClickOnce Security Setting(ClickOnce 보안 설정 사용)을 선택합니다.



그러면 약간의 버퍼링 후,
Soultion Explorer의 Properties에 App.manifest 파일이 생긴것을 볼 수 있습니다.

이 방법을 이용하지 않을 수도 있지만,
그렇게 하면 더 복잡하니 자동으로 파일을 생성해 주는 이방법을 사용하는게 편합니다 ^^

여기서 중요! ClickOnce의 체크박스를 다시 해지해 줍니다.
ClickOnce에서는 일반 권한밖에 정할 수가 없네요 ㅠ


그럼 관리자 권한 설정을 위해 manifest파일을 엽니다~



중간 부분에 보면 주석과 함께 아래와 같은 코드가 있는 것을 볼 수 있네요.

         <!-- UAC Manifest Options
            If you want to change the Windows User Account Control level replace the
            requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

            If you want to utilize File and Registry Virtualization for backward
            compatibility then delete the requestedExecutionLevel node.
        -->


권한 설정을 위해 아래의 코드 중에 선택하라.. 뭐 이런 말 같은데요ㅎㅎ


우리는 관리자 권한을 위해
<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
이 코드를 asInvoker 대신 삽입해 줍니다.



그러면 완료! 프로그램이 관리자 권한으로 실행되게 됩니다~

출처: http://bywords.tistory.com/entry/C관리자-권한-실행되는-프로그램-생성 [건빵의 블로그]