Process.Start()没有启动.exe文件(手动运行时有效)

dis*_*kid 11 c# explorer exe process.start

我有一个.exe文件,我需要在创建文件后运行.文件已成功创建,之后我使用以下代码运行该.exe文件:

ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = pathToMyExe;
processInfo.ErrorDialog = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardOutput = true;
processInfo.RedirectStandardError = true;                        
Process proc = Process.Start(processInfo);
Run Code Online (Sandbox Code Playgroud)

我也试过一个简单Process.Start(pathToMyExe);.exe文件没有运行.当我pathToMyExeWindows资源管理器上手动尝试时,程序正确运行.但不是通过该计划.我看到的是光标转向等待几秒然后恢复正常.所以也没有抛出异常.什么阻止文件?

Lua*_*aan 24

您没有设置工作目录路径,与通过资源管理器启动应用程序时不同,它不会自动设置为可执行文件的位置.

做这样的事情:

processInfo.WorkingDirectory = Path.GetDirectoryName(pathToMyExe);
Run Code Online (Sandbox Code Playgroud)

(假设输入文件,DLL等在该目录中)