C#Process.Start()参数无法正常工作

时间:2014-04-25 03:16:10

标签: c#

我正在尝试使用process.start()静默安装Microsoft Visual C ++ 2005 Redistributable,但从来没有运气。请有人帮助我。

我有以下代码

string path = mypath;                          
startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.Arguments = "/q:a /c:\"msiexec /i vcredist.msi /qn /l*v %temp%\\vcredist_x86.log\"";
startInfo.FileName = path + @"\vcredist_x86.exe";
System.Diagnostics.Process exeProcess = System.Diagnostics.Process.Start(startInfo);
exeProcess.WaitForExit();

实际的命令行参数是

/ q:a / c:“msiexec / i vcredist.msi / qn / l * v%temp%\ vcredist_x86.log”

我从http://blogs.msdn.com/b/astebner/archive/2006/08/23/715755.aspx

获得了此命令

我验证了这个参数在cmd中手动完美,但代码永远不会起作用。

我也尝试过以下代码,但也没有运气

 startInfo.Arguments = Encoding.Default.GetString(Encoding.UTF8.GetBytes("/q:a /c:\"msiexec /i vcredist.msi /qn /l*v %temp%\\vcredist_x86.log\""));


 startInfo.Arguments = "/q:a /c:\"msiexec /i vcredist.msi /qn /l*v %temp%\\\\vcredist_x86.log\""

请有人告诉我。

由于

1 个答案:

答案 0 :(得分:0)

我没有带宽来下载这些东西进行测试,但是,试试这个:

替换:

中的4个斜杠
/l*v temp%\\\\vcredist_x86.log\""

只有2个斜杠:

/l*v temp%\\vcredist_x86.log\""