c#命令行,运行两个命令



我尝试为我的应用程序创建安装程序。我想安装新版本,因此请卸载旧版本。求解命令行解决。

这是我的命令:

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

但卸载命令尚未完成,然后安装启动。我要卸载命令完成,然后deloy install命令。

如何做到这一点。

ps:我通过installshiedl 2015创建安装程序,如果有办法在安装前创建卸载,请为我展示,谢谢。

您可以使用process.waitforexit方法:

public void run2ndCmd()
{
    String command = @"e:22-08-2016setup.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()
}

除非您有充分的理由这样做,否则为什么不只是进行更正常的大型升级。这将安装新版本以及卸载该较旧版本的安装。我不确定您拥有哪个版本的安装速度,但这是文档:

http://helpnet.installshield.com/installshield2helplib/helplibrary/upgrademsimajoradvanced.htm

最新更新