c#进程立即退出而不运行.exe

时间:2012-05-18 14:23:43

标签: c# .net visual-studio-2010

我正在尝试为不在我们网络上的用户启动slui.exe,以便他们可以通过我们的MAK密钥使用c#程序验证他们的Windows安装,但是当编译为.exe时,该过程将立即退出;如果我从VS 2010以调试模式运行程序它将成功运行,或者如果我在安装了VS2010的机器上启动.exe,它也将成功运行。我的代码如下:

string path = Environment.SystemDirectory;
ProcessStartInfo startInfo = new ProcessStartInfo(path + "\\slui.exe");
startInfo.Arguments = 4;
Process p = new Process();
p.StartInfo = startInfo;
p.Start();
p.WaitForExit();

我尝试过运行进程资源管理器,但在尝试运行此代码时,它并未显示任何进程。

.net会有什么东西吗?我在两台机器上运行.net 4,所以我不认为这是问题所在。

我真的很困惑,为什么这个代码在我的开发机器上可以在调试模式下工作,也可以编译成.exe,但在其他机器上却不行;我必须在某个地方错过一个依赖。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

请检查EventLog,如果进程在启动时崩溃,它将在那里列出。 您的症状的一个很好的例子是,如果您尝试启动一个不存在依赖关系的进程,例如(即,slui.exe引用了slui.dll,但找不到它。)