6

我有这个 C# 代码:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
ProcessStartInfo psi = new ProcessStartInfo();
psi.Arguments = "–s –v –qn";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.FileName = desktopPath + "\\" + "MyInstaller_7.1.51.14.exe";
Process.Start(psi);

第一行只是获取我桌面的路径,其余的尝试以静默模式运行安装程序 exe 文件。我所说的静默模式是指在后台,没有安装向导,或者在安装过程中没有任何类型的 UI。参数在–s –v –qn那里,以便安装以静默模式运行。

问题是,当我在命令提示符下运行与上述命令等效的命令时,它是:

C:\Users\ME\Desktop>MyInstaller_7.1.51.14.exe -s -v -qn

安装程序按需要以静默模式运行。

不幸的是,问题是在 C# 中使用上述代码尝试相同的操作不会以静默模式运行安装程序。确实会出现安装向导,这对于目的来说是不好的。

我在想也许我需要通过 C# 或在用户的 0 id 下像服务一样运行它。或使用 -i 开关。我不太确定。有人可以帮忙吗??

只是为了澄清,我的问题是,我如何编写 C# 代码以静默模式在后台运行我的 installer.exe 文件,没有可见的 UI?

请帮忙。

4

1 回答 1

2

这是正确的答案:

ProcessStartInfo psi = new ProcessStartInfo();
psi.Arguments = "/s /v /qn /min";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.FileName = newRenamedFile;
psi.UseShellExecute = false;
Process.Start(psi);

问题是开关缺少正斜杠。

于 2013-12-18T23:08:22.280 回答