C# 卸载应用程序,然后使用c安装另一个应用程序#

C# 卸载应用程序,然后使用c安装另一个应用程序#,c#,.net,C#,.net,我正在尝试从系统中卸载一个应用程序并安装它的新版本 我尝试在c#代码中使用Process.start和WaitForExit方法 代码运行时,cpu-z_1.71的安装文件将在卸载程序退出之前启动 如何使安装程序等待,直到按下“完成卸载”对话框的“确定”按钮 是否可以使用流程执行上述任务,或者我是否应该使用其他方法您可以从下面的文章中找到一种方法 这段代码可以是一种方法 private void RunNotePad() { Process p1 = new Process("n

我正在尝试从系统中卸载一个应用程序并安装它的新版本

我尝试在c#代码中使用Process.start和WaitForExit方法

代码运行时,cpu-z_1.71的安装文件将在卸载程序退出之前启动

如何使安装程序等待,直到按下“完成卸载”对话框的“确定”按钮


是否可以使用流程执行上述任务,或者我是否应该使用其他方法

您可以从下面的文章中找到一种方法

这段代码可以是一种方法

private void RunNotePad()
{
    Process p1 = new Process("notepad.exe");
    p1.EnableRaisingEvents = true;
    //when process exit, excute ProcessExited function.
    p1.Exited += new EventHandler(ProcessExited);
    p1.Start();
}

public void ProcessExited(object source, EventArgs e)
{
    //start to install a new version
}

当我尝试上面的代码时,我得到一个错误,说明System.Diagnostic.Process不包含接受1个参数的构造函数,这可能与NET framwork版本不同。您可以在我试用的过程类中找到一些示例代码,但在我单击卸载旧版本的最后一个对话框之前,它仍然会弹出新版本的安装提示。您可以再次发布代码吗?我已经测试了我的代码,但它是works.private void Rununinstaller(){Process process1;process1=Process.Start(@“C:\Program Files\CPUID\CPU-Z\unins000.exe”);process1.EnableRaisingEvents=true;process1.Exited+=new EventHandler(ProcessExited);//process1.Start()}public void ProcessExited(对象源,EventArgs e){var process2=Process.Start(@“C:\Users\abc\Downloads\Programs\cpu-z_1.71-setup-en.exe”);}
private void RunNotePad()
{
    Process p1 = new Process("notepad.exe");
    p1.EnableRaisingEvents = true;
    //when process exit, excute ProcessExited function.
    p1.Exited += new EventHandler(ProcessExited);
    p1.Start();
}

public void ProcessExited(object source, EventArgs e)
{
    //start to install a new version
}