IT관련/C#

dll 에도 관리자 권한이 필요한가?

파란하늘999 2025. 10. 2. 10:30

관리자 권한(UAC) 설정은 실행 파일(.exe)에만 적용됩니다. 이유는 다음과 같아요:

핵심 포인트

  • DLL은 독립적으로 실행되지 않음 - 항상 실행 파일(EXE)에 의해 로드됩니다
  • 권한은 프로세스 레벨에서 결정 - DLL은 자신을 호출한 EXE의 권한을 상속받습니다
  • app.manifest는 EXE에만 필요 - 애플리케이션 진입점에만 설정하면 됩니다

예시 상황

MyApp.exe (app.manifest에 requireAdministrator 설정)
  └─ MyLibrary.dll (별도 설정 불필요)
  └─ AnotherLib.dll (별도 설정 불필요)

MyApp.exe가 관리자 권한으로 실행되면, 해당 프로세스 내에서 로드되는 모든 DLL도 자동으로 같은 권한으로 동작합니다.

주의사항

DLL 내부에서 관리자 권한이 필요한 작업(레지스트리 수정, 시스템 파일 접근 등)을 하더라도, DLL을 호출하는 EXE가 관리자 권한으로 실행되면 문제없이 동작합니다.

반응형