3

私はユニークなシナリオに陥っていることに気がつきました。しかし、私のためにこれに答えることができるMacOS Xの第一人者がそこにいるのではないでしょうか?

PackageMaker を使用して、会社のアプリケーションのインストール プロセスを作成しています。これはクロスプラットフォーム アプリであり、私のホーム ベースは Linux と Windows です。そのため、私の MacOS X の無知をお許しください。

2 つのソフトウェア バンドルがあります。つまり、アプリです。1 つは、当社のソフトウェアを「バンドル」している外部企業によって開発された Other.app です。私たちのアプリは Stats.app です。私たちのアプリは起動エージェントとして実行されるため、端末に手動でインストールすると動作する .plist ファイルがあります。

インストールプロセスの私の目標は次のとおりです。

  1. Other.app を /Applications にインストールします
  2. Stats.app を /Users/<user>/Applications にインストールします (注を参照)
  3. Stats.plist を /Users/<user>/Library/LaunchAgents にインストールします
  4. パスが正しいように「ProgramArguments」キーを変更するために Stats.plist を後処理します。

    <array>
    <string>%{HOME}/Applications/Stats.app/Contents/MacOS/Stats</string>
    </array>

  5. いくつかの簡単なコマンドを事後実行します。

    /Application/Other.app/Contents/MacOS/Other --configure=config.txt

  6. 終了コードを確認し、問題がなければ終了したことをユーザーに伝えます。

私は望んでいます-いや...祈っています! -- 誰かがこれをどのように行うことができるかについての情報を持っていること。

明確にするために、Stats.app がユーザーのホーム ディレクトリにある必要はありません。Stats.app が動作するには実行中の Carbon が必要なため、Launch エージェントがホーム ディレクトリにあることが要件です。

4

2 に答える 2

0

目的のディレクトリにアプリをインストールする bash スクリプトを試し、スクリプトで sed を使用して Stats.plist ファイルを変更することができます。

于 2016-07-02T14:31:50.780 に答える
0

各パッケージのインストール後/アップグレード後のスクリプトを使用して、書き換えを行います。PackageMaker のバージョンが異なれば見た目も異なります。また、ターゲットにしているシステムも UI に影響します。

私は、Apple が自社のプラットフォームをターゲットとする開発者のためのヘア シャツとして PackageMaker を作成したと確信しています。幸運を!

また、権限を正しく処理することを信頼しないでください。インストール後/アップグレード後のスクリプト(通常は両方に同じスクリプトセット)を通過させ、ファイルをchmodおよびchownします。sudo は必要ありません。既に root として実行しています。

また、PackageMaker は、サイクルを作成するディレクトリへのシンボリック リンクを含むディレクトリ構造のインストールを処理できません。これには、DotMacKit など、Apple が配布する一部のフレームワークが含まれます。

于 2010-10-29T16:42:52.447 に答える