-1

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

该应用程序需要 .NET 4.0 框架才能执行,所以我必须安装它。我尝试运行它的 C# 代码位于 .NET 3.5 上,并且是使用 Visual Studio 2008 创建的。

4

1 回答 1

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();
于 2012-07-13T18:19:49.570 回答