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