관리자 권한(UAC) 설정은 실행 파일(.exe)에만 적용됩니다. 이유는 다음과 같아요:
핵심 포인트
- DLL은 독립적으로 실행되지 않음 - 항상 실행 파일(EXE)에 의해 로드됩니다
- 권한은 프로세스 레벨에서 결정 - DLL은 자신을 호출한 EXE의 권한을 상속받습니다
- app.manifest는 EXE에만 필요 - 애플리케이션 진입점에만 설정하면 됩니다
예시 상황
MyApp.exe (app.manifest에 requireAdministrator 설정)
└─ MyLibrary.dll (별도 설정 불필요)
└─ AnotherLib.dll (별도 설정 불필요)
MyApp.exe가 관리자 권한으로 실행되면, 해당 프로세스 내에서 로드되는 모든 DLL도 자동으로 같은 권한으로 동작합니다.
주의사항
DLL 내부에서 관리자 권한이 필요한 작업(레지스트리 수정, 시스템 파일 접근 등)을 하더라도, DLL을 호출하는 EXE가 관리자 권한으로 실행되면 문제없이 동작합니다.
반응형
'IT관련 > C#' 카테고리의 다른 글
| C# 원격 디버깅 완벽 가이드: Visual Studio로 원격 서버 디버깅하기 (0) | 2025.10.23 |
|---|---|
| PE 의 파일일시를 읽을 수 없을때... (0) | 2025.10.10 |
| requireAdministrator를 셋팅했지만 관리자권한으로 실행되지 않을때... (0) | 2025.10.02 |
| 프로그램에는 진입점에 적합한 정적 'Main' 메서드가 포함되어 있지 않습니다. 오류 해결방법 (0) | 2025.10.01 |
| 오류 해결 방법 (0) | 2025.05.16 |