C#Process.Start()参数不';我不能正常工作 我试图用Salp.Stad()来默默安装微软Visual C++ 2005可重分发,但从来没有任何运气。请任何人帮帮我

C#Process.Start()参数不';我不能正常工作 我试图用Salp.Stad()来默默安装微软Visual C++ 2005可重分发,但从来没有任何运气。请任何人帮帮我,c#,C#,我有以下代码 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.e

我有以下代码

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 vcredit.msi/qn/l*v%temp%\vcredit_x86.log”

我从你那里得到这个命令

我验证了这个参数在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\""
请任何人告诉我


谢谢

我没有足够的带宽下载这些东西进行测试,但是,请尝试以下方法:

替换中的4个斜杠:

/l*v temp%\\\\vcredist_x86.log\""
只需两个斜杠:

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

这是你自己的MSI吗?你的应用程序有提升权限吗?没有。没有任何自定义MSI。我从微软网站下载了安装程序。是C++ 2005的可再分布installer@AppDeveloper没有。没有任何权限限制。我的此应用程序测试环境是x86 windows xp。它总是像管理员一样运行,你的代码怎么会失败呢?vcredit_x86.exe不运行?它的论点是错误的?您可以使用或类似的工具检查论点。好的,不用担心。希望你把它整理好。