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 означает, что установка успешно завершена]

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