2009-12-10 4 views
0

이것은 나를 괴롭힌다. StackOverflow 전체를 검색하고 UAC에 관한 모든 내용을 읽었습니다. 그러나 나는 아직도 문제에 봉착하고있다..NET File.Delete()가 UAC에서 실패하고 requireAdministrator = True 인 이유는 무엇입니까?

VS 2008를 사용하여, 나는이를 제외한 아무것도하지 않는 간단한 프로그램이 있습니다

File.Delete("c:\windows\fonts\whatever.ttf") 

EXE 파일이 True requireAdministrator =와 적절한 매니페스트가 있습니다. 컴파일되면 앱 아이콘이 방패 아이콘을받습니다. 그리고 Admin 또는 Standad 사용자로 로그인 한 응용 프로그램을 실행하면 "다음 프로그램을 변경 하시겠습니까?"라는 확인 대화 상자가 나타납니다. 또한 EXE에서 코드 서명 인증서를 사용합니다.

내가 관리자로 로그인 응용 프로그램을 실행

이 파일을 삭제 : 응용 프로그램을 실행하는 경우

, 나는 다음과 같은 동작을 얻을.

그러나 표준 사용자로 로그인하면 UAC 프롬프트가 나타나고 Admin 암호를 입력하지만 삭제가 실행되면 "파일 액세스가 거부되었습니다"라는 오류가 발생합니다.

누군가가 설명해 주시겠습니까? 나는 매니 페스트에서 requiresAdministrator = True가 프로세스를 향상시키는 것으로 생각했습니다. 하지만 여전히 시스템 파일을 삭제할 수는 없습니다.

감사합니다.

+0

삭제할 파일이 ReadOnly인지 반드시 확인하십시오. 그렇다면 파일을 완전히 제어하더라도 오류가 발생합니다. – Peter

답변

1

프로세스를 향상 시키지만 파일에 관리자 그룹의 구성원 만 수정하거나 삭제할 수있는 액세스 제어가 있고 "표준"사용자가 관리자 그룹의 구성원이 아니라면 여전히 수정할 수 없습니다 파일.

+0

입력 해 주셔서 감사합니다. 표준 사용자가 삭제할 파일에 대해 명시 적으로 "모든 권한"권한을 부여하더라도 여전히 예외가 발생합니다. 다른 아이디어? – BerwynVB