시작하기 전에 UAC 프로그래밍에 대한 거의 지식이 없기 때문에 사과하겠습니다. 그건 ...관리되지 않는 코드에 매니페스트 파일이 필요합니까?
전 완전히 다른 프로그램의 setup.exe를 시작하는 C# 응용 프로그램이 있습니다. 주요 목적은 UAC에서 실행되는 두 번째 프로그램을 돕는 것입니다. 즉, 명령 프롬프트에서 setup.exe 파일을 실행합니다. 두 번째 프로그램을 제어 할 권한이 없으므로 UAC와 호환되도록 옵션을 선택할 수 없습니다. Vista가 처음 출시되었을 때 프로그램을 작성했고 UAC 정보가 거의 발견되지 않았습니다. 이제 setup.exe 파일을 실제로이 방법으로 실행하면 UAC를 사용하여 프로그램을 실행할 수 있습니다. 그러나 내 프로그램의 일부는 "theirapp.exe.manifest"파일을 "requireAdministrator"를 실행 수준으로 추가합니다. 그래서 내 질문은 이것입니다, 심지어 궁극적으로 실행하려고하는 프로그램이 관리되지 않는 응용 프로그램 (CBuilder C++) 인 경우에도 해당 파일이 필요합니까? 어딘가에 나는 명백한 파일이 필요하다고 믿는 길을 따라 갔다. 하지만 이제는 .NET 응용 프로그램에서만 작동한다고 들었습니다.
감사
편집
: 그것을 요약하면 ... UAC에서 관리되지 않는 프로그램을 실행하는 데 필요한 매니페스트 파일인가?<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
편집 : 당신이 (링커 설정의 일부) 매니페스트 옵션에서 옵션을 찾을 수 있습니다 ++ 다른 프로그램은 비주얼 C에서
private void RunElevated()
{
ProcessStartInfo processInfo = new ProcessStartInfo("cmd.exe", @"/C " + AppDomain.CurrentDomain.BaseDirectory + @"setup.exe");
processInfo.Verb = "runas";
try
{
Process.Start(processInfo);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
매니페스트 파일은 관리되는 (.NET) 응용 프로그램에서만 * 아닙니다 *입니다. 두 개념은 서로 관련이 없습니다. –