忽略TestHarness.Logger.Log, 这是自定义的写日志的方法, 可以替换成Console.WriteLine()
public static int InvokeMsi(string msiFilePath, string workDir, bool wait, bool uninstall)
{
Process process = null;
string arg = String.Format("/q /{0} \"{1}\"", uninstall ? "x" : "i", msiFilePath);
ProcessStartInfo psi = new ProcessStartInfo("msiexec.exe", arg);
psi.UseShellExecute = false;
if (!String.IsNullOrEmpty(workDir))
{
psi.WorkingDirectory = workDir;
}
else
{
psi.WorkingDirectory = Environment.CurrentDirectory;
}
process = new Process();
process.StartInfo = psi;
try
{
TestHarness.Logger.Log("Start