私はユニークなシナリオに陥っていることに気がつきました。しかし、私のためにこれに答えることができるMacOS Xの第一人者がそこにいるのではないでしょうか?
PackageMaker を使用して、会社のアプリケーションのインストール プロセスを作成しています。これはクロスプラットフォーム アプリであり、私のホーム ベースは Linux と Windows です。そのため、私の MacOS X の無知をお許しください。
2 つのソフトウェア バンドルがあります。つまり、アプリです。1 つは、当社のソフトウェアを「バンドル」している外部企業によって開発された Other.app です。私たちのアプリは Stats.app です。私たちのアプリは起動エージェントとして実行されるため、端末に手動でインストールすると動作する .plist ファイルがあります。
インストールプロセスの私の目標は次のとおりです。
- Other.app を /Applications にインストールします
- Stats.app を /Users/<user>/Applications にインストールします (注を参照)
- Stats.plist を /Users/<user>/Library/LaunchAgents にインストールします
パスが正しいように「ProgramArguments」キーを変更するために Stats.plist を後処理します。
<array>
<string>%{HOME}/Applications/Stats.app/Contents/MacOS/Stats</string>
</array>いくつかの簡単なコマンドを事後実行します。
/Application/Other.app/Contents/MacOS/Other --configure=config.txt
終了コードを確認し、問題がなければ終了したことをユーザーに伝えます。
私は望んでいます-いや...祈っています! -- 誰かがこれをどのように行うことができるかについての情報を持っていること。
明確にするために、Stats.app がユーザーのホーム ディレクトリにある必要はありません。Stats.app が動作するには実行中の Carbon が必要なため、Launch エージェントがホーム ディレクトリにあることが要件です。