Выполнение процесса из приложения .NET без запроса UAC

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

8
задан synhershko 28 May 2011 в 22:41
поделиться