2016-12-20 310 views
0

我試圖爲我的應用程序創建安裝程序。我想要安裝新版本,所以卸載舊版本。使用命令行解決。C#命令行,運行兩個命令

這是我的命令:

start /b msiexec.exe /x{79735753-F9D4-49AD-B29E-55C578390D25} /passive &cmd /k "e:\22-08-2016\setup.exe" 

但卸載命令尚未完成,然後安裝開始。我想要卸載命令完成然後安裝install命令。

如何做到這一點。 PS:我通過Installshiedl 2015創建安裝程序,如果在安裝之前有辦法創建卸載,請爲我顯示,謝謝。

回答

1

您可以使用Process.WaitForExit方法:

public void run2ndCmd() 
{ 
    String command = @"e:\22-08-2016\setup.exe"; 
    ProcessStartInfo cmdsi = new ProcessStartInfo("cmd.exe"); 
    cmdsi.Arguments = command; 
    Process cmd = Process.Start(cmdsi); 
    cmd.WaitForExit();  
} 
public void run1stCmd() 
{ 
    String command = @"/b msiexec.exe /x{79735753-F9D4-49AD-B29E-55C578390D25} /passive &cmd /k"; 
    ProcessStartInfo cmdsi = new ProcessStartInfo("cmd.exe"); 
    cmdsi.Arguments = command; 
    Process cmd = Process.Start(cmdsi); 
    cmd.WaitForExit();  
} 
public void runCmd() 
{ 
    run1stCmd(); 
    //This will execute only when 1st command is finished 
    run2ndCmd() 
}