2017-03-21 3 views
0

ルートオーディオ/プラグイン/ VST &コンポーネントディレクトリに2つのオーディオプラグインをインストールする必要があります。私のインストーラはうまくいく。しかし、プリセットファイルのディレクトリを/ Users/$ USER/Library/Application Support/MyCompanyフォルダにインストールする必要もあります。osx:ユーザのアプリケーションサポートディレクトリにパッケージをインストールするには?

インストーラは/と〜に同じインストーラではインストールできないと聞いたことがありますが、実際にはそのインストーラを1人のユーザーにインストールしたいと思っています。だから、VSTとコンポーネントを先にインストールするのが良い考えです。次に、プリセットフォルダを一時的な場所(/ tmpなど)にインストールし、インストール後のスクリプトを実行してファイルをユーザのライブラリに移動しますが、動作させることはできません。

これは私が実行しようとしているスクリプトです:

明らか
#!/bin/bash 

# movePresets.sh 

# I want something like this...but it doesn't work because $USER is root in the installer I believe 

/usr/bin/sudo -u $USER mkdir -p "/Users/$USER/Library/Application Support/MyCompany/Presets" 
/usr/bin/sudo -u $USER mv -r "/tmp/Presets" "$USER/$USER/Library/Application Support/MyCompany" 


exit 0 

、私はrootとして、ユーザーのディレクトリにアクセスするための適切な方法を知りません。助けてください...ありがとうございます。

+0

'productbuild'を使用して、このためのインストーラパッケージ(例:' .pkg'、 '.mpkg')を作成する必要があります。それはあなたが言及したすべてを行います。 –

+0

post-install.shファイルはどこにありますか?そのファイルをユーザーの自宅のある場所に追加して、そのユーザーの自宅のパスを取得することができます。または、インストール後のファイルをユーザーのホームディレクトリ(ターミナルのデフォルトディレクトリ)から実行する必要があります。 – vitormm

答えて

0

最初に変数にユーザーを保存してみましたか?

#!/bin/bash 
realuser=$USER 
# or 
#realuser=$(whoami) 

/usr/bin/sudo -u $realuser mkdir -p "/Users/$realuser/Library/Application Support/MyCompany/Presets" 
/usr/bin/sudo -u $realuser mv -r "/tmp/Presets" "$realuser/$realuser/Library/Application Support/MyCompany" 
+0

どう違うのですか? $ USERはまだrootであり、実際のユーザーではありません。 – pizzafilms

関連する問題