如何从Java Runtime安装.pkg?

时间:2016-04-19 23:06:45

标签: java macos bash runtime pkg-file

我正在使用Java自动在Mac OS X中安装.pkg文件并执行此操作我对bash控制台有这个命令:

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

我正在从Java Runtime执行此命令:

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

但是如果在Bash控制台中执行命令,则不会安装软件包。它正常工作。

1 个答案:

答案 0 :(得分:0)

您不应该假设用户具有root权限,并且启动安装程序可能更好,因此用户可以从那里授权和更新应用程序。如果这有意义,那么可以通过这种方式启动.pkg,不需要sudo:

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

我不确定你为什么需要回音' Control123',但你可能需要单独回应。