2016-12-20 271 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() 
}