2016-04-19 10 views
0

私はbashのコンソールに対してこのコマンドを持っているのJavaを使ってMac OS Xでの.pkgファイルのインストールを自動化していて、それを行うには:Java Runtimeから.pkgをインストールするには?

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コンソールでコマンドを実行すると、パッケージがインストールされません。それは正常に動作します。

+0

ネイティブコマンドのみを呼び出すことはできますが、シェル組み込み関数とパイプはこの方法で呼び出すことはできません。 –

+0

Javaから.pkgファイルをインストールできる別の方法はありますか? –

答えて

0

ユーザがroot権限を持っていると想定してはいけません。ユーザがそこからアプリケーションを認証して更新できるようにインストーラを起動する方が良いでしょう。

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

私はあなたがエコー「Control123」を必要とする理由はよく分からないが、あなたは別にそれをエコーする必要があるかもしれません:それは理にかなっている場合、それは.pkgをこのように起動することが可能です、須藤は必要ありません。

関連する問題