Ich habe eine MVC .NET-Anwendung und möchte einige .exes auf dem Server ausführen. Die exes sind jarsigner.exe und zipalign.exe, um ein Android APK zu ändern und neu zu signieren. Ich möchte sie vom Controller aus ausführen.So führen Sie eine .EXE in einem Azure App Service aus
Es funktioniert lokal, mit einem Prozess, um die Anwendung zu starten, aber ich habe betrogen und verwendet hardcoded Pfade zu der EXE und in den Ordner mit den Sachen von der EXE verwendet werden.
Ich habe die .exes zur obersten Ebene meines Projekts in Visual Studio hinzugefügt und einen Ordner hinzugefügt, der die Dateien enthält, die von .exes bearbeitet werden sollen.
Ich habe Schwierigkeiten zu trainieren, wie ich den Weg zu den Exes und zum Ordner der Dateien bekomme. Sobald ich das habe, kann ich dann den Prozess aufrufen (ich vermute, ich könnte Probleme mit Berechtigungen bekommen, aber einen Schritt nach dem anderen ...).
var processInfo = new ProcessStartInfo(@"C:\jarsigner.exe", @"..arguments"){
CreateNoWindow = true, UseShellExecute = false
};
Dies funktioniert gut auf dem lokalen Rechner, und fast auf dem Azure-Server. Das Problem auf dem Server ist, dass die EnvironmentVariable "Java_HOME" null ist, d. H. Die JRE ist nicht auf dem Server installiert. Wie mache ich das? Ich habe versucht, nur über die java.dll und manuelle Einstellung der Java-Umgebungsvariable, aber das hat nicht funktioniert. – gregm
Meinst du in deinem KUDU cmd "echo% JAVA_Home%" ist null? –
Wenn ich Environment.GetEnvironmentVariable ("Java_HOME", EnvironmentVariableTarget.Machine) überprüfen, ist es null – gregm