通过Process.Start()打开时收到错误“应用程序已停止工作”

时间:2012-07-13 18:07:20

标签: c# .net

我有第三方软件包。其文件夹包含要运行的.exe文件以及运行该应用程序所需的其他一些文件。当我手动打开应用程序时,它工作正常,但当我尝试通过Process.Start()打开相同的应用程序时,我收到错误“应用程序已停止工作”。

应用程序需要.NET 4.0框架才能执行,因此我必须安装它。我试图运行它的C#代码是在.NET 3.5上使用Visual Studio 2008创建的。

1 个答案:

答案 0 :(得分:2)

您可以尝试以下方法:

    var path = @"C:\Temp\test.exe";
    FileInfo fi = new FileInfo(path);

    ProcessStartInfo info = new ProcessStartInfo(path);
    info.WorkingDirectory = fi.DirectoryName;

    Process process = new Process();
    process.StartInfo = info;

    process.Start();

如果这不起作用,请尝试

Directory.SetCurrentDirectory(fi.DirectoryName);

直接在process.Start();

之前

不要忘记之后重置当前目录! 使用

保存CurrentDirectory
var currentDirectory = Directory.GetCurrentDirectory();