在 Process.Start 中捕获 msiexec 命令失败

Catch msiexec command failure inside Process.Start

我想使用 process.start 安装 MSI,下面是我添加的代码。

try {
  Process p = Process.Start("msiexec.exe", "/a D:\test.msi");
  //msiexec.exe /a "D:\test.msi"
} catch(Exception Ex) {
  //handle exception
}

如果里面的 msiexec 命令失败,我预计它会进入 catch 块。

但看起来命令执行状态对 Process.start 无关紧要。

如何知道里面的命令是否成功?

(在 Windows 中)这是一个成功的 exe return 0。任何其他值都表示错误。
您在 ExitProperty
中找到值 如果您想找出失败的原因,您可能需要 send the output to a console.