[英]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.