У меня есть сценарий, в котором мне нужно запустить 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, и иметь у него тот же токен доступа, что и у вызывающего приложения (чтобы он мог вносить изменения в файлы в папке приложения и т. Д.)?