【问题标题】:How to install a .pkg from Java Runtime?如何从 Java Runtime 安装 .pkg?
【发布时间】:2016-08-12 09:01:17
【问题描述】:

我正在使用 Java 在 Mac OS X 中自动安装 .pkg 文件,为此我有 bash 控制台的以下命令:

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

我正在从 Java 运行时执行此命令:

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

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

【问题讨论】:

  • 您只能调用本机命令,不能以这种方式调用 shell 内置命令和管道。
  • 还有其他方法可以从 Java 安装 .pkg 文件吗?

标签: java macos bash runtime pkg-file


【解决方案1】:

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

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

我不确定您为什么需要 echo 'Control123',但您可能需要单独回显。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 2010-12-15
    相关资源
    最近更新 更多