簡體   English   中英

在Process.start中指定命令行參數

[英]Specifying command line parameters in Process.start

我正在嘗試使用C#編寫Windows應用程序,其中-用戶選擇一個MSI文件和一個實例名稱,然后單擊“運行安裝程序”按鈕。......將以該實例名稱作為一個實例來調用MSI文件。參數。

因此,基本上,生成的命令將如下所示:

msiexec  /i "E:\Local Profile\Desktop\BranchBankingConnectorSetup.msi" MSINEINSTANCE=1 TRANSFORMS=:Instance1

問題是.....第一次運行安裝程序並安裝了分支銀行連接器的實例1 .....如果我嘗試再次使用實例2運行-程序仍會為以下應用程序啟動安裝程序實例1。

這是我的代碼:

System.Diagnostics.Process p  = new System.Diagnostics.Process();
p.StartInfo.FileName = "e:\\command.bat";
p.StartInfo.UseShellExecute = false;
p.Start();

文件e:\\ command.bat包含上述命令,該文件首先使用選定的實例編號進行更新,然后調用。

不要使用批處理文件
您可以在StartInfo中傳遞參數

System.Diagnostics.Process p  = new System.Diagnostics.Process();
p.StartInfo.FileName = "msiexec.exe"; //You better provide a full path here
p.StatInfo.Arguments = " /i \"E:\\Local Profile\\Desktop\\BranchBankingConnectorSetup.msi\" MSINEINSTANCE=1 TRANSFORMS=:Instance1";
p.StartInfo.UseShellExecute = false;
p.Start();

嘗試這個

p.StatInfo.Arguments = "required arguments"

暫無
暫無

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

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