NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    C# C# .NET 매크로 프로그램 만들기. (닷넷 프로젝트를 관리자 권한으로 실행하기)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 차세대 엔지엠 매크로는 기존 닷넷 프레임워크가 아닌 닷넷(구 닷넷 코어)으로 개발하고 있습니다. 이유는 마이크로소프트에서 더이상 닷넷 프레임워크를 지원하지 않기도 하고, 앞으로 적용할 인공지능 및 딥러닝에 대한 지원이 닷넷으로만 이루어지기 때문입니다. 레거시 딥러닝은 아직도 닷넷 프레임워크를 지원하고 있지만 앞으로 나올 인공지능 관련 기술이나 딥러닝은 닷넷만 지원합니다.

    ※ 닷넷 프레임워크 최신 버전인 4.8.1 이후로 업데이트가 없을거라는 기사를 본듯한데요. 다시 찾으려니 기사가 안보이네요.

    9fLhtPv.jpeg

     

     

    마이크로소프트의 2022년 5월 17일 공식 지원 정책 기사를 보면 다음과 같은 핵심 내용들을 확인할 수 있습니다. 엔지엠 매크로는 현재 2가지 버전의 닷넷 프레임워크를 사용하고 있습니다. 4.6.2와 4.8.1인데요. 마이크로소프트 라이프사이클에 정리되어 있는 내용입니다.

    • .NET Framework 4.6.2는 2027년 1월 12일까지 지원될 예정입니다. .NET Framework 3.5 서비스팩 1을 제외한 이보다 낮은 모든 .NET Framework 버전은 2023년 6월 15일 현재 모두 지원이 중단된 상태이며, 보안 업데이트가 전혀 제공되지 않으므로 보안 위협에 취약합니다.
    • 적어도 .NET Framework 4.7 이상으로 업그레이드하시면 상당히 오랜 기간 동안 EOS를 걱정하지 않으셔도 됩니다.
    • 예외적으로 .NET Framework 3.5 서비스팩 1에 대해서는 2029년 1월 9일까지 지원될 예정입니다. 그러나 EOS 일정에 영향을 받지 않으려면, .NET Framework 4.8 이상으로 업그레이드하거나, 통합 .NET으로 마이그레이션하는 것을 고려하는 것을 권장합니다.

     

    엔지엠 매크로 6의 최신 버전은 닷넷 4.8.1이기 때문에 문제는 없습니다. 하지만, 딥러닝 지원이 문제가 되어서 닷넷으로 마이그레이션 작업을 진행하고 있습니다. 사실, 마이그레이션으로 몇차례 테스트를 해봤지만 정상적으로 마이그레이션이 이루어지지 않아서 결국은 처음부터 다시 만들고 있는 중입니다. 그래서, 이와 관련해서 유튜브도 만들고 관련 글들도 홈페이지에 꾸준히 업데이트하고 있습니다.

     

    우선, 프로그램이 관리자 권한으로 실행되는지 체크하려면 아래와 같이 롤을 확인할 수 있습니다.

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

     

    하지만, 이 코드로는 프로그램을 관리자 권한으로 실행할 수 없죠? 그래서, Program.cs 파일의 진입점에서 관리자 권한인지 체크한 후 자기 자신을 프로세스로 실행하도록 처리해야 합니다. 이렇게 하면 몇가지 복잡한 문제들을 해결해야 합니다. 특히나 엔지엠 매크로와 같이 커멘드 입력으로 실행하거나 연결된 파일을 더블 클릭해서 프로그램을 실행하는 경우등등... 해결해야 할 것들이 있습니다.

     

    만약, 쉽게 처리하고 싶다면 아래와 같이 매니페스트 파일에서 롤을 변경해주면 됩니다. 다만, 이렇게 하면 관리자 권한으로 실행하고 싶지 않을 때도 관리자로 실행되기 때문에 선택권이 없게 됩니다. 매크로 프로그램은 다른 프로그램을 제어해야 하기 때문에 권한이 관리자여야 합니다. 그렇기 때문에 무조건 관리자 권한으로 실행되어야 해서 딱히 문제가 되지는 않습니다.

    qYJ3rLv.png

     

     

    이제 프로그램을 실행 해보면, UAC 보안 경고창이 표시되는걸 확인할 수 있습니다.

    X04gzg4.jpeg

     

     

    이 글이 도움이 되셨다면~ 커피 한잔이라도 후원 부탁드립니다^^

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.