通过System.Diagnostics.Process安装在32位/ XP中不起作用?

时间:2013-02-13 04:20:35

标签: c# command-line process

我有一个ac #exe,它调用System.Diagnostics.Process在cmd.exe中运行一些命令,它们被动地安装了几个安装程序..我一直在我的机器上测试它(64位win8,它工作正常,但是当我在32位版本的Windows XP上运行exe时,程序只是跳过进程部分。没有抛出任何错误,它只是忽略它们。这是我的代码:

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("CMD.exe", @"/C [command stuff]}");
psi.CreateNoWindow = true;     
psi.UseShellExecute = false;   
System.Diagnostics.Process diag = System.Diagnostics.Process.Start(psi);
diag.WaitForExit();
diag.Close();

这可能是什么交易?我再次没有错误,它只是忽略它。它是有意义的,因为我可以在那里完成所有这些,只是运行日期作为命令,它工作正常,但它不会运行安装所需的msi和exe文件。我找不到任何有关它工作在64位而不是32的信息。谢谢!

1 个答案:

答案 0 :(得分:0)

所以我发现了我的问题。在运行.msi进行安装之前,我使用语法C:/folder/setup.msi更改了目录。这在我的计算机上工作正常,但在XP上没有做任何事情。事实证明它不知道如何处理正斜杠。我所要做的就是将它改为C:\ folder \ setup.msi,它运行正常。我觉得自己像个白痴,希望这可以帮助别人,虽然大声笑。