繁体   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