2016-04-19 11 views
0

ich eine Installation einer .pkg-Datei in Mac OS X bin Automatisierung mit Hilfe von Java und es zu tun habe ich diesen Befehl für bash-Konsole:Wie installiere ich ein .pkg von Java Runtime?

echo 'Control123' | sudo -S installer -pkg /Users/george/Downloads/MyPackage.pkg -target/

ich diesen Befehl am Ausführen von Java Runtime:

Runtime.getRuntime().exec("echo 'Control123' | sudo -S installer -pkg /Users/george/Downloads/MyPackage.pkg -target /"); 

aber das Paket ist nicht installiert, wenn Sie den Befehl in der Bash-Konsole ausführen. Es funktioniert normal.

+0

Sie können nur native Befehle aufrufen und auf diese Weise keine eingebauten und Pipes erstellen. –

+0

gibt es einen anderen Weg, wo ich .pkg-Dateien von Java installieren kann? –

Antwort

0

Sie sollten nicht davon ausgehen, dass ein Benutzer Root-Rechte hat, und es ist wahrscheinlich eine bessere Idee, das Installationsprogramm zu starten, damit der Benutzer die Anwendung von dort autorisieren und aktualisieren kann. Wenn der Sinn macht, dann ist es möglich, die .pkg auf diese Weise zu starten, wird sudo nicht erforderlich:

String userHome = System.getProperty("user.home"); 
String cmdString = ("open " + userHome + "/Downloads/MyPackage.pkg"); 

Ich bin nicht sicher, warum Sie brauchen echo ‚Control123‘, aber Sie könnten, dass separat echo müssen.