【发布时间】:2019-07-31 17:01:47
【问题描述】:
我需要运行 cmd 命令以静默方式安装带有响应文件的软件,但我找不到正确的语法并一直出现“找不到指定路径”错误
我尝试在不使用 /s 和 /f1 参数的情况下运行它,它成功了。我也可以成功启动这两个文件,所以它不是来自它们的路径。 我也试过把exe和iss文件放到程序文件夹里去掉相对路径,但还是出现同样的错误...
string command = "\"\"Executable Folder Path\\setup.exe\"\" /s /f1\"\"Config Path\\conf_file.iss\"\"";
ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = false;
using (Process process = new Process())
{
process.StartInfo = procStartInfo;
process.Start();
process.WaitForExit();
string result = process.StandardOutput.ReadToEnd();
Console.WriteLine(result);
}
请问有人知道正确的语法吗?
【问题讨论】:
-
这些参数特定于
setup.exe。我们不可能知道它们是什么。如果您可以从命令行运行 exe,那么这只是将调用移植到 c# 的问题。顺便说一句,您不需要在 c# 中运行cmd /c。 -
不,对于您要使用 iss 文件静默安装的每个软件,它们始终相同:silentinstall.org/InstallShield /s 用于静默安装,/f1 参数用于使用配置文件你的意思是我可以简单地用 Console.WriteLine() 写我的命令?