2009-11-25 3 views
1

Windows Vista에서 C# 2005 Express Edition의 자동화 응용 프로그램을 작성하려고합니다. 문제는, IDE에서 또는 비스타에서 직접 컴파일 된 실행 파일로이 응용 프로그램을 실행하려고 시도 할 때 상승 된 관리자 권한을 요청합니다. XP에서 동일한 실행 파일이 정상적으로 실행됩니다! 나는 때문에이 문제가 명시 또는 뭔가 다른 할 경우 이해 드릴 수 없습니다C# 2005 콘솔 응용 프로그램은 항상 높은 권한이 필요합니다

...

감사합니다, 첫째

+0

그 밖의 모든 사람들이 준 응답에 그냥 부정적입니다. Windows XP에는 UAC가 없으므로 사용자는 일반적으로 관리자 권한을 가지므로 아무 문제가 없습니다. 이것은 사람들이 비스타에서 UAC를 사용할 때 가장 큰 문제입니다. 왜냐하면이 때문에 XP에서 잘 작동하는 소프트웨어 설계가 제대로 설계되지 않았기 때문입니다. –

답변

3

, 나는 update to 2008 Express 것; 2005 Express는 더 이상 다운로드 할 수 없지만 2008 Express는 여전히 3.0/3.5 장점을 제공 할뿐 아니라 .NET 2.0을 대상으로 할 수 있습니다. 그리고 그것은 여전히 ​​무료입니다. 사실, 2010 Express가 바로 근처에 있습니다! 특히 2005 Express IDE 관련 문제에 답할 수있는 사람을 찾기가 점점 어려워집니다. 2005 Express가 아직 설치되지 않은 사람이 거의 없기 때문입니다.


(IDE를 통해) 응용 프로그램 매니페스트 파일을 추가하십시오 - app.manifest로 나타납니다. 그것은 (기본적으로) 추가해야합니다 :

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

(IIRC) 도움은 어떤을해야한다 -하지만 : 앱이와 b에서 실행되는 경우 : 그것은 무엇을합니까? (레지스트리 편집 등).

+0

답장을 보내 주신 Marc에게 감사하지만이 게시물을 게시하기 전에이 솔루션을 시도했지만 문제가 해결되지 않았습니다. : – DexTer

3

Marc의 답변에 덧붙여 : 실행 파일이 이름의 일부로 '설치'또는 '설치'되어있는 경우 UAC는 매니페스트와 상관없이 관리자 권한을 요청합니다. 이 문제를 해결하는 유일한 방법은 .exe의 이름을 이러한 키워드가 포함되지 않은 것으로 변경하는 것입니다.

편집 : '업데이트'역시 이와 같은 키워드입니다. UAC에 대해서도 Technet article을 참조하십시오.

+2

흥미 롭다. 몰랐다. 호기심에서 정보를 얻을 수 있겠는가? – RCIX

+0

기술에 설명되어 있습니다. http://technet.microsoft.com/en-us/library/cc709628 WS.10) .aspx 또한 'update'와 같은 키워드입니다. –

0

응용 프로그램이 상승 된 권한 (예 : Program Files 폴더 또는 레지스트리의 일부 영역에 쓰기)을 수행하려고 시도하면 권한 상승을 요청해야합니다. 그렇지 않으면 실패합니다. XP에서는 고도를 묻지 않습니다. 실행 권한이 없으면 실패 할 것입니다. (보통 XP에서는 관리자 권한으로 실행되므로 대개 문제가되지 않습니다.)

"gotcha"를 기존에 추가하려면 답변 : .exe에서 파일 속성 (호환성 탭)을 사용하여 강제로 "관리자 권한으로 실행"하면 강제로 권한 상승을 요청합니다. Unintuitively 이것은 경로 이름에 영구적으로 적용되므로 .exe를 삭제하고 새 것을 설치하더라도 "as admin"설정이 계속 적용됩니다! 특히 속성을 열어 속성을 비활성화해야 다시 제거 할 수 있습니다.