0

我正在尝试为不在我们网络上的用户启动 slui.exe,以便他们可以通过我们的带有 ac# 程序的 MAK 密钥验证他们的 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 正常工作,但不能在其他机器上工作;我一定在某处缺少依赖项。

任何帮助将不胜感激!

4

1 回答 1

1

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

于 2012-05-18T14:56:38.383 回答