Prozess.Start() nicht starten .exe-Datei (funktioniert, wenn Sie manuell ausgeführt)
Ich habe eine .exe
- Datei, die ausgeführt werden muss, nachdem ich eine Datei erstellen. Die Datei erfolgreich erstellt und ich bin mit dem folgenden code zum ausführen der .exe
- Datei nach, dass:
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = pathToMyExe;
processInfo.ErrorDialog = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardOutput = true;
processInfo.RedirectStandardError = true;
Process proc = Process.Start(processInfo);
Ich habe auch versucht mit einem einfachen Process.Start(pathToMyExe);
aber die .exe
- Datei nicht ausgeführt. Wenn ich versuche pathToMyExe
manuell auf meine Windows Explorer das Programm wird korrekt ausgeführt. Aber nicht über das Programm. Was ich sehe, ist der cursor drehen, um zu warten, für ein paar Sekunden und dann wieder normal. Es gibt also keine Ausnahmen, entweder. Was blockiert die Datei?
- Meine psychischen Kräfte sind, die sagen mir Sie müssen die
WorkingDirectory
. - Sie sicher, dass es nicht läuft? Sie umgeleiteten standard-Ausgabe, aber Sie hat nicht erlaubt, beliebigen code im Zusammenhang der Bearbeitung der umgeleiteten Ausgabe. Sie daher nicht, finden Sie keine Ausgabe, es sei denn, Sie behandeln es speziell. Ich gehe davon aus das ist ein Console App btw.
- du hast Recht. Sie können es veröffentlichen, wie die Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie sind nicht die Einstellung den Pfad des Arbeitsverzeichnis, und anders als beim Start der Anwendung über die Explorer, ist es nicht automatisch eingestellt, um den Speicherort der ausführbaren Datei.
Nur so etwas tun:
(vorausgesetzt die input-Dateien, DLLs etc. in diesem Verzeichnis)
Aufgrund der unterschiedlichen Arbeitsverzeichnis setzen Sie Ihr working directory richtig auf den Weg, dass Sie wollen, dass Ihr Prozess zu starten.
Einen Beispiel-demonstration dieser kann sein: