2014-12-06 174 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

相關問題