流程启动始终失败。通过代码启动exe失败

时间:2013-02-27 16:34:21

标签: c# wpf process

我正尝试通过以下代码启动WPF应用程序可执行文件:

            Task.Factory.StartNew(() =>
            {
                CloseOpen();
            });

void CloseOpen()
{
      string srLocationss = @"" + srLocation + @"\Mycoded.exe";
      Process.Start(srLocationss);
}

可执行文件启动并立即失败。如果我双击它,它可以工作。我真的很困惑。

这是错误

enter image description here

1 个答案:

答案 0 :(得分:1)

屏幕截图清楚地显示您确实成功启动了该程序。但它立即崩溃并显示Windows错误报告对话框。您还没有ExitCode,因为该进程尚未退出。直到你关闭对话框才会发生这种情况。

显然,“调试程序”选项很有吸引力。

进程在启动时崩溃的原因很多。到目前为止,最常见的一个不是设置ProcessStartInfo.WorkingDirectory属性。编写得不好的程序通常假定默认工作目录设置为EXE的路径。并尝试加载具有相对路径名而不是完整路径名的文件(如“mumble.txt”而不是“c:\ foo \ bar \ mumble.txt”)。如果未设置工作目录,那就是kaboom。它不适用于您当前的代码。

如果此程序是您自己的程序,则通过为AppDomain.CurrentDomain.UnhandledException编写事件处理程序来改进它。显示或记录e.ExceptionObject.ToString()的值。现在你知道它崩溃的原因。