2014-12-06 185 views
1

我试图从系统中卸载应用程序并安装它的新版本。卸载应用程序,然后使用c安装另一个应用程序#

我尝试了使用的Process.Start和WaitForExit方法在C#代码

var process1 = Process.Start(@"C:\Program Files\CPUID\CPU-Z\unins000.exe"); 
process1.WaitForExit(); 
var process2 = Process.Start(@"C:\Users\abc\Downloads\Programs\cpu-z_1.71-setup-en.exe"); 

当代码运行,为CPU-z_1.71设置文件中的卸载程序退出之前启动。

我该如何让安装程序等到我按下完整卸载对话框的确定​​按钮。

是否有可能做上述任务使用过程中还是应该使用一些替代

回答

2

您可以从下面的文章的方法。

和该代码可以是一个方法。

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 
} 
+0

当我尝试上面的代码,我得到一个错误,说明System.Diagnostic.Process不包含一个构造函数1个参数 – dexter 2014-12-06 17:21:49

+0

也许它的NET framwork版本的差异。你可以在[msdn](http://msdn.microsoft.com/en-us/library/system.diagnostics.process(v = vs.110).aspx)中找到一些使用Process类的示例代码。 – hyun 2014-12-06 17:34:52

+0

我试过了,但仍然弹出新版本的安装提示,然后我可以单击卸载旧版本的最后一个对话框 – dexter 2014-12-06 17:39:49

相关问题