psexec возвращает результат msiexec C#
Я использую psexec в C# для установки программного обеспечения на удаленной машине, поэтому я хочу получить результат установки, чтобы увидеть, сработало ли это, моя проблема в том, что стандартный вывод возвращает только это
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = @"psexec.exe ";
p.StartInfo.Arguments = @"\\johnpc -h -u john -p MOHAMED msiexec /i C:\indexo\installer.msi TARGETDIR=C:\MyApp\hello /quiet";
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.Start();
p.WaitForExit();
if (p.HasExited)
{
string strOutput = p.StandardOutput.ReadToEnd();
Console.Write( strOutput);
}
else
{
Console.Write("TIMEOUT FAIL");
}
1 ответ
Решение
Я нашел способ получить его, результат msiexec возвращается в стандартной ошибке, даже если установка завершена. он говорит, что msiexec вернул ошибку с кодом 0 [код 0 означает, что установка успешно завершена]