내 프로그램이 Vista에서 실행하기 위해 권한을 요청하는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/95525

  •  01-07-2019
  •  | 
  •  

문제

방금 VS 2008을 사용하여 VS C++ 6.0 프로그램을 만들었습니다.응용 프로그램을 실행하거나 디버그하려고 하면 Vista에서 권한을 요청합니다.이 문제를 일으키는 프로그램의 구성 방식은 무엇입니까?프로그램이 빌드되고 C:\Dev의 하위 폴더에서 실행됩니다.

이 응답 문제에 대한 해결책으로 나에게는 의미가 없습니다.

도움이 되었습니까?

해결책

가능성 1:

귀하의 프로그램은 매니페스트에 관리자 권한이 필요한 것으로 표시되어 있습니다.

가능성 2:

프로그램 이름은 setup.exe 또는 install.exe입니다. 이러한 프로그램 이름에는 항상 관리자 권한이 필요합니다.

이 수표를 보는 이유와 기타 가능성에 대한 자세한 설명 사용자 계정 제어 Technet 알아보기 기사

다른 팁

MVP는 사용자 폴더(예: c:\users\yourname\appdata 또는 해당 경로 아래)에서 코드와 프로젝트를 실행하는 것에 대해 이야기했습니다.

이 문제를 해결하려면 UAC를 비활성화하지 마십시오. 그렇지 않으면 UAC를 끄지 않는 한 응용 프로그램이 다른 컴퓨터에서 실행되지 않습니다.그것은 매우 나쁜 습관입니다.완벽한 세상에서 귀하의 애플리케이션은 사용자에게 높은 권한을 요청해야 합니다.

고마워요 수마.귀하의 응답은 지금까지 최고였으며 해결책을 찾는 데 도움이 되었습니다.나는 귀하의 첫 번째 제안으로 원인이 설명된다고 판단했습니다.파일 이름을 'setup'이라는 단어가 포함되지 않은 이름으로 바꾸는 것은 도움이 되지 않았습니다.

내가 착각했다는 것이 밝혀졌습니다.VS 2005와 VS 2008이 모두 설치되어 있고 이전 .dsw 파일을 열려고 했을 때 2005년이 실행되어 프로젝트를 업그레이드하라는 제안을 받았습니다.2005년에는 "assemblies" 태그가 포함된 단 한 줄의 매니페스트를 만든 것으로 보입니다.VS 2008을 사용하여 프로젝트를 업그레이드하면 더 광범위한 매니페스트 파일이 생성되었습니다.매니페스트 도구...입력 및 출력...매니페스트 포함 설정을 확인하여 매니페스트가 내 프로그램에 포함되고 있음을 확인했습니다.이 새로운 매니페스트에는 다음 데이터가 포함됩니다.

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>   

관리자가 아닌 경우 C:\Dev에 있는 프로그램을 실행할 권한이 없을 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top