我安装了 setup.msi 安装程序,我看到了将日志写入文件的选项,但我需要将日志输出到 StandardOutput?这是代码:
Process process = new Process();
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.Arguments = $"/l \"Setup.msi\" /q";
processInfo.FileName = "msiexec";
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;
process.StartInfo = processInfo;
process.Start();
process.WaitForExit();
var exitCode = process.ExitCode;
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
我认为安装程序的启动可能看起来像这样:
事实上,我只是从我的项目中“剥离”了这个过程,它的作用与您的需要大致相同。
这里有一些额外的东西,但基本思想很清楚:您告诉 Msiexec 要登录到哪个文件,然后等待安装过程完成,然后解析该文件。
在我看来,您的代码也可以通过添加几行来纠正 - 然后相同的脚本将为您工作。
从某种意义上说,这是一个拐杖,而且,可能,我没有想到如何将输出发送到标准输出。我想在我的业余时间...
祝你好运!