2013-09-23 2 views
0

win32 응용 프로그램Visual Studio 2010에 만들었습니다. 응용 프로그램은 일종의 설치 프로그램입니다, exe를 system32 폴더에 복사합니다.응용 프로그램에 대한 관리자 권한 설정

설치 프로그램에서 복사 한 exe는 Windows가 다시 시작될 때마다 실행됩니다. 내가 레지스트리에서 항목을 만들었는데, 지금 문제는 내가 실행될 때마다 관리자로서 그 exe를 실행하고 싶다는 것이다.

관리자로 실행되도록 exe의 속성을 변경할 수 있지만 특정 시스템에서만 작동합니다. 내 응용 프로그램이 설치 프로그램이라는 것을 언급 했으므로 모든 시스템에서 권한을 변경하는 것이 좋습니다. 친절하게 내가이 문제 모두의

+0

이 작업을 수행 할 수 있다고 생각하지 않습니다. 보안 문제가 발생할 수 있으므로 시스템 파일을 삭제하고 관리자 권한을 부여하는 프로그램을 작성할 수 있습니다. 프로그래밍 방식으로 이러한 일이 발생할 수 있는지 알고 싶습니다. – VahiD

답변

1

먼저 해결할 수있는 방법 나를 인도

는 특권과 권한이 사용자가 아닌 실행 파일에 대해 지정된 점에 유의하시기 바랍니다.

실행 파일을 상승 실행하려면 일반적으로 requireAdministrator 실행 수준을 지정하는 실행 파일에 응용 프로그램 매니페스트를 추가해야합니다. 이러한 응용 프로그램은 사용자가 관리자가 아니거나 어깨 너머로 올라 가기를 수행 할 관리자를 찾을 수없는 경우 실행되지 않습니다.

이제는 도움이되지 않을 것입니다. 레지스트리 설정이 HKLM\Software\Microsoft\Windows\CurrentVersion\Run이라고 가정하고 로그온시 권한 상승을 원하면 프로그램을 시작할 때마다 사용자에게 UAC 고도 대화 상자가 표시됩니다. 나는 그 행동이 바람직하다고 상상할 수 없다.

아마도이 모든 것을 피하는 가장 간단한 방법은 응용 프로그램을 서비스로 실행하도록 변환하는 것입니다. 서비스는 세션 0에서 실행되며 UAC의 영향을받지 않습니다. 충분한 권한을 가진 사용자 계정으로 서비스를 실행하기 만하면됩니다.

마지막으로 한 가지 중요한 점은 충분히 강조 할 수 없다는 것입니다. system32에 파일을 복사해서는 안됩니다. 그것은 시스템 폴더이며 시스템에 속합니다.

+0

친절한 응답을 주셔서 감사합니다. 실행 파일에 매니페스트를 작성했지만 여전히 작동하지 않습니다. 대화 상자를 표시하지 않더라도 이유를 이해할 수 없습니다. – WiXXeY

+0

정보없이 도움을받을 수 없습니다. 매니페스트의 'requireAdministrator' 설정이 작동하는 것으로 알려져 있습니다. –

+0

내 manifest.xml 공유 할 수 WiXXeY

관련 문제