보통 설치 프로그램에서 권한을 주게끔 만드는 방법이 있는것 같지만,
찾다가 지쳐서 다른 방법으로 관리자 권한으로 실행 되도록 하는 방법을 소개 합니다.


먼저 비쥬얼 스튜디오는 툴 자체를 관리자 권한으로 실행 해주세요.


1. 솔루션 탐색기에서 개발중이던 프로젝트 명에 마우스 우클릭 -> 속성

2. 보안 탭 클릭 -> ClickOnce 클릭(체크가 되도록) 합니다.

3. 다시 ClickOnce 클릭(체크가 안되도록)
   : -ㅅ-;;;;; 훈련 시키는건 아니구요.. 체크가 되도록 하면 프로젝트내에
     Properties - app.manifest 파일이 생기게 됩니다.
     ClickOnce 는 꽤 괜찮은 방법으로 배포하는 기능인데 나중에 조금더 공부해서 사용하도록 하고.. ㅋ

4. 이제 app.manifest 파일을 엽니다.

5. 아래와 같이 설명을 잘해서 이미 추가 되어 있습니다.

<security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!-- UAC 매니페스트 옵션
             Windows 사용자 계정 컨트롤 수준을 변경하려면
             requestedExecutionLevel 노드를 다음 중 하나로 바꾸십시오.

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

            requestedExecutionLevel 노드를 지정하면 파일 및 레지스트리 가상화가 사용되지 않습니다.
            이전 버전과의 호환성을 위해 파일 및 레지스트리 가상화를 사용하려면
            requestedExecutionLevel 노드를 삭제하십시오.
        -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>

6. 위의 asInvoker 부분을 requireAdministrator 으로 바꿉니다.

7. 컴파일 -> 완성!!!!!!!!!!!!!

관리자 권한인지 확인 하는 방법은 요겁니다.

        using System.Security.Principal;

        public static bool IsAdministrator()
        {
            WindowsIdentity identity = WindowsIdentity.GetCurrent();
            if (null != identity)
            {
                WindowsPrincipal principal = new WindowsPrincipal(identity);
                return principal.IsInRole(WindowsBuiltInRole.Administrator);
            }
            return false;
        }



개인적인 메모 겸 글을 올립니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2012/11/27 15:11 2012/11/27 15:11
젤라피 이 작성.

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다


당신의 의견을 작성해 주세요.

: 1 : ... 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : ... 105 :