我有一个第 3 方软件包。它的文件夹包含.exe
要运行的文件和运行应用程序所需的一些其他文件。当我手动打开应用程序时,它工作正常,但是当我尝试通过打开同一个应用程序时Process.Start()
,我收到错误“应用程序已停止工作”。
该应用程序需要 .NET 4.0 框架才能执行,所以我必须安装它。我尝试运行它的 C# 代码位于 .NET 3.5 上,并且是使用 Visual Studio 2008 创建的。
您可以尝试以下方法:
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();