Запуск программы с правами администратора в C#

Как я недавно узнал, трудно запустить процесс Java с правами администратора из кода, поэтому я решил создать отдельную запускающую или вызывающую программу, написанную на C#. Программа на C# имеет права на запуск от имени администратора, но как мне вызвать jar для запуска как единое целое? Для вызываемой программы требуются права администратора для установки и получения значений из реестра, которые являются его настройками, и, поскольку я не могу запустить программу как администратор в Java, мне нужно сделать это в C# (я выбрал C# вместо VB, потому что я использовал для кодирования на VB, но синтаксис мне больше не нравится). Вот как далеко я дошел, но я все равно получаю сообщение об ошибке в консоли:

static void Main(string[] args)
    {
        Console.Title = "Universal Android Toolkit Bootup...";
        Console.ForegroundColor = ConsoleColor.Green;

        try
        {
            Process pr = new Process();
            String uat = Environment.CurrentDirectory + "/com.m4gkbeatz.Java.AndroidToolkit.jar";

            pr.StartInfo.Arguments = "-jar " + uat;
            pr.StartInfo.FileName = "java";
            pr.StartInfo.CreateNoWindow = true;
            pr.StartInfo.ErrorDialog = true;
            pr.StartInfo.RedirectStandardOutput = true;
            pr.StartInfo.RedirectStandardError = true;
            pr.StartInfo.UserName = "admin";
            pr.StartInfo.UseShellExecute = false;

            StreamReader str;
            pr.Start();
            str = pr.StandardOutput;

            while (!pr.HasExited)
            {
                Console.WriteLine(str.ReadLine());
            }
        }
        catch (Exception ex)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("There was an error while attempting to execute Universal Android Toolkit");
            Console.WriteLine(ex.ToString());
            error = ex.ToString();
            Console.WriteLine("\n");
            Console.WriteLine("Please try again.\nPress ENTER to continue...");
            Console.Read();
            ErrorMenu();
        }
    }

Редактировать: это вывод консоли:Вывод ошибок консоли

1 ответ

Как ошибка указывает "неверное имя пользователя / пароль"... вы устанавливаете pr.StartInfo.UserName но нет pr.StartInfo.Password

Другие вопросы по тегам