Запуск CMD в качестве администратора с аргументом из C #
Я хочу бежатьcmd.exe
как администратор с аргументами отC # для того, чтобы предотвратитьUAC неожиданно возникнуть. Это необходимо для того, чтобы использовать его как процесс автоматической установки. Команда, которую я передаю, это просто путь к установочному файлу (.exe) с/q
для тихой установки.
Когда я запускаю этот код, появляется всплывающее окно CMD, но оно работает так, как будтоне могу ничего выполнить.
public static string ExecuteCommandAsAdmin(string command)
{
ProcessStartInfo procStartInfo = new ProcessStartInfo()
{
RedirectStandardError = true,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true,
FileName = "runas.exe",
Arguments = "/user:Administrator cmd /K " + command
};
using (Process proc = new Process())
{
proc.StartInfo = procStartInfo;
proc.Start();
string output = proc.StandardOutput.ReadToEnd();
if (string.IsNullOrEmpty(output))
output = proc.StandardError.ReadToEnd();
return output;
}
}