Comment installer un. pkg à partir de Java Runtime?


J'automatise une installation d'un .fichier pkg sous Mac OS X en utilisant Java et pour le faire, j'ai cette commande pour la console bash:

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

J'exécute cette commande à partir de Java Runtime:

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

Mais le paquet n'est pas installé, si exécuter la commande dans la console Bash. cela fonctionne normalement.

Author: Jorge Avila, 2016-04-20

1 answers

Vous ne devriez pas supposer qu'un utilisateur a des privilèges root, et c'est probablement une meilleure idée de lancer le programme d'installation afin que l'utilisateur puisse autoriser et mettre à jour l'application à partir de là. Si cela a du sens, alors il est possible de lancer le .pkg de cette façon, sudo n'est pas requis:

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

Je ne sais pas pourquoi vous auriez besoin d'echo 'Control123', mais vous devrez peut-être faire écho séparément.

 0
Author: l'L'l, 2016-04-20 02:42:29