У меня есть сценарий, в котором мне нужно запустить EXE-файл из моего .NET-приложения, но я не могу обойти всплывающее приглашение UAC. Запрос запускается даже до того, как запускается другой EXE-файл - вероятно, при самом вызове Process.Start
.
Я использую этот код для запуска приложения:
var info = new ProcessStartInfo(path, "params");
info.Verb = "runas";
try
{
Process.Start(info);
}
catch (System.ComponentModel.Win32Exception)
{
// Person denied UAC escallation
return false;
}
Оба EXE-файла (мое приложение и другой EXE-файл) имеют это определено в их манифесте:
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
Как я могу выполнить другой EXE-файл без запуска запроса UAC, и чтобы он имел тот же токен доступа, что и вызывающее приложение (так он может вносить изменения в файлы в папке приложения и т. д.)?