2010-05-19 5 views
0

나는 exe가 VC6에 의해 준수되었고 파일 이름이 patch.exe인데, 매니페스트가 추가되지 않았다.이 경우 모든 코드를 제거했지만 EXE 파일에 관리자 권한이 필요하다. 빈 메인 (), 결과는 동일합니다. 그러나 EXE 파일을 patch.exe에서 a.exe로 변경하면 문제가 해결됩니다.Microsoft 문제입니까?

다음은 내 테스트 결과입니다. 1. EXE 매니페스트없이 VC6 2로 준수 또는 EXE 이름이 포함 매니페스트 3에 특정 권한하지 않았다되었다 "패치"문자열, 대소 문자를 구별는 마이크로 소프트 문제

인가? 왜?

VC2008 시도, 그것을 반복 할 수 없습니다.

+0

"Microsoft와 관련이 있습니까?" 가장 아마도 –

+0

가능한 복제본 [Vista가 patch.exe에서 고도를 필요로하는 것을 방지하는 방법?] (http://stackoverflow.com/questions/533939/how-to-prevent-vista-from-requiring-elevation-on-patch -exe) –

답변

3

Vista 등의 UAC 기능은 실행 파일의 파일 이름을 사용하여 에스컬레이션 된 관리자 권한이 필요한지 추측합니다. 그래서 setup.exe, install.exe, patch.exe와 같은 "기존"설치 프로그램과 사용자가 "관리자 권한으로 실행"을 수행하지 않아도 매니페스트를 포함하지 않는 적절한 권한을 얻을 수 있습니다. ." 그것을 위해.

VC2008 버전이 에스컬레이션 요청을하지 않는 이유는 무엇입니까? 나는 모른다. 어딘가에 명시 적으로 또는 암묵적으로 필요하지 않다고 명시된 어휘가있을 수 있습니다.

이 줄에있는 질문은 이미 StackOverflow에서 묻습니다.

How to prevent Vista from requiring elevation on patch.exe?

+0

"VC2008"버전의 작성 방법에 따라 기본적으로 asInvoker 매니페스트가 제공되었을 수 있습니다. 그게 당신이하고 싶은 일입니다. 이름을 변경하거나 '이름에서 추측하지 마세요, 내가 승급 할 필요가 없다고 말하고 있습니다'라는 내용의 매니페스트를 추가하십시오. exe 안에 어떤 코드가 있는지는 중요하지 않습니다. –

관련 문제