psexec return msiexec c# 的结果

psexec return result of msiexec c#

我在 C# 中使用 psexec 在远程机器上安装软件 所以我想得到安装的结果,看看它是否有效 我的问题是标准输出 return 只有这个

  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");
            }

我找到了获取它的方法,即使安装完成,msiexec 的结果也会在标准错误中返回。它说 msiexec 返回错误代码 0 [代码 0 表示安装成功完成]