Language/C# WPF

[C#] 디버깅 관리자권한(debug administrator) / click once error

멱군 2019. 11. 5. 02:30

프로그램을 개발하면서 하드 드라이브에 파일을 쓰거나 할 때 코드는 다 맞는데 실행 오류가 뜬다거나, openapi를 사용하면서 프로그램 실행 할 때마다 관리자 권한으로 실행하시겠습니까? 라는 메세지가 너무 귀찮다.

그래서 C# 프로그램 만들 때 프로그램 디버깅 관리자권한을 주고자 한다.

 

 

 

먼저 프로젝트 > 오른쪽마우스클릭 > 속성 에서 보안탭으로 이동하면,

ClickOnce 보안설정 사용이 체크가 안되어 있는데 요거 체크해준다.

체크를 해주면 라디오버튼이 활성화 되는데 무시하고~

 

 

프로젝트의 Properies에 들어가보면 app.manifest라는 녀석이 보인다.

요 파일을 더블클릭하면,

 

 

뭐라뭐라 나오는데 파란박스안에 주석처리 되어있는 부분이 권한에 대한 부분이다.

관리자를 요구해야 하기에 빨간박스 구간에 기본값인 level="asInvoker" 을 지우고  level="requireAdministrator" 로 수정해준다. 

그렇게 하고 빌드를 하면, 

 

 

ClickOnce는 요청 실행수준 'requireAdministrator'을(를) 지원하지 않습니다.

 

라고 뜨는데 이건 첫번째 보안탭에서 클릭했던 ClickOnce 항목의 체크박스를 다시 해제해주면 된다.

기본적인 설정이기 때문에 호환이 안맞는다고 한다.

그렇게 해서 빌드하고 프로그램을 실행해보면,

 

 

작업을 수행하려면 관리자권한을 가져야 한다고 한다.

그럼 증명을 사용하여 다시 시작 -> 비주얼스튜디오가 종료되고 재실행된다.

 

(이 때 저장안했다고 좌절 마시길.... 어차피 빌드>실행하면 저장되어있으니까.... ㅋ)

 

그러면 C# 프로그램 만들 때 프로그램 관리자권한 주기 설정 끝이다. 후우~

 

가끔 파일쓰기가 안될 때 왜 에러났는지 한참 찾았었던 기억이 있다.... 구문은 분명 맞는데... 그럼 이젠 관리자권한부터 의심하고 위의 방법처럼 수정하면 될 것이다.