【发布时间】:2013-02-13 04:20:34
【问题描述】:
我有一个调用 System.Diagnostics.Process 的 c# exe 来在 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();
这可能是什么交易?我再一次没有错误,它只是忽略它。这很有趣,因为我可以在那里完成所有这些,只需运行 date 作为命令,它工作正常,但它不会运行安装所需的 msi 和 exe 文件。我找不到任何关于它在 64 位而不是 32 位上工作的信息。谢谢!
【问题讨论】:
-
您是否尝试过捕获输出和/或错误流?错误很可能出现在您没有向我们展示的“命令内容”中。
-
是的,我经历了这个,无论我做什么,我都无法让它向我显示错误,但问题在于命令。
标签: c# command-line process