我有第三方软件包。其文件夹包含要运行的.exe
文件以及运行该应用程序所需的其他一些文件。当我手动打开应用程序时,它工作正常,但当我尝试通过Process.Start()
打开相同的应用程序时,我收到错误“应用程序已停止工作”。
应用程序需要.NET 4.0框架才能执行,因此我必须安装它。我试图运行它的C#代码是在.NET 3.5上使用Visual Studio 2008创建的。
答案 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();
不要忘记之后重置当前目录! 使用
保存CurrentDirectoryvar currentDirectory = Directory.GetCurrentDirectory();