簡體   English   中英

C#命令行,運行兩個命令

[英]C# Commandline , run two command

我試圖為我的應用程序創建安裝程序。 我要安裝新版本,所以卸載舊版本。 正在用命令行解決。

這是我的命令:

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

但是卸載命令尚未完成,然后開始安裝。 我希望卸載命令完成,然后取消安裝命令。

怎么做。

PS:我是通過Installshiedl 2015創建安裝程序的,如果在安裝之前有創建卸載的方法,請告訴我,謝謝。

您可以使用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()
}

除非您有充分的理由這樣做,否則為什么不執行更常規的大型升級。 這將安裝新版本以及卸載舊版本。 我不確定您使用的是哪個版本的InstallShield,但這是文檔:

http://helpnet.installshield.com/installshield22helplib/helplibrary/UpgradeMsiMajorAdvanced.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM