Windows Vista에서 관리자 권한으로 소프트웨어를 실행하려면 소프트웨어가 필요합니다 (관리자 권한없이 실행하면 충돌이 발생합니다).
다른 소프트웨어를 실행할 때 "이 소프트웨어는 관리자 권한으로 실행됩니다. 계속 하시겠습니까?"와 같은 메시지가 시스템에서 표시되는 것을 보았습니다. 앱이 관리자 권한을 얻으려고 할 때.
Windows Vista에서 C # 앱을 실행할 때 관리자 권한을 요청하려면 어떻게합니까?
Windows Vista에서 관리자 권한으로 소프트웨어를 실행하려면 소프트웨어가 필요합니다 (관리자 권한없이 실행하면 충돌이 발생합니다).
다른 소프트웨어를 실행할 때 "이 소프트웨어는 관리자 권한으로 실행됩니다. 계속 하시겠습니까?"와 같은 메시지가 시스템에서 표시되는 것을 보았습니다. 앱이 관리자 권한을 얻으려고 할 때.
Windows Vista에서 C # 앱을 실행할 때 관리자 권한을 요청하려면 어떻게합니까?
답변:
매니페스트 파일에 다음을 추가합니다.
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
highestAvailable
레벨 에도 사용할 수 있습니다 .
매니페스트 파일을 포함하는 방법은 다음과 같습니다.
http://msdn.microsoft.com/en-us/library/bb756929.aspx
추신 : 매니페스트 파일이없는 경우 쉽게 새 파일을 추가 할 수 있습니다.
Visual Studio에서 프로젝트-> 항목 추가-> 응용 프로그램 매니페스트 파일 선택 (Visual C # 항목의 일반 아래)을 마우스 오른쪽 단추로 클릭합니다.
추가 된 파일이 이미 단지의 레벨 변경, 위의 부분이있을 것이다 requireAdministrator
으로부터를asInvoker
이 XML을 yourexename.exe.manifest라는 파일에 넣습니다.
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="highestAvailable" />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
requestedExecutionLevel
매니페스트 에서 토큰 을 사용해야합니다 .
F # Visual Studio 2013의 경우 /win32manifest
다음과 같이 FSharp 컴파일러의 플래그를 사용하여 관리자 권한 상승을 요청하는 매니페스트 파일이 포함 되었습니다. 따라서 "App.Exe"라는 프로젝트 출력이 주어지면
프로젝트에 파일을 추가 할 수 있습니다 편의를 위해 다음과 같은 내용으로 파일을 (만듭니다. 그건 있는지 확인
Build Action
입니다 None' and
... 복사 출력에 is
음주 복사하지 . By
convention such a file is named
App.Exe.manifest`를. 당신이있는 UIAccess (사용자 인터페이스)를 요구하는 경우, 어셈블리 강력한 이름이어야합니다.
<?xml version="1.0" encoding="utf-8" ?>
<asmv1:assembly manifestVersion="1.0"
xmlns="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="App" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
Other flags:
다음을 포함 하도록 프로젝트 대화 상자 빌드 패널의 입력 필드를 편집합니다 /win32manifest:<ApplicationManifestFile>
.. 예를 들어,이 경우 /win32manifest:App.Exe.manifest
.