2

アプリケーション用にMacでインストールパッケージをビルドしようとしています(2つの.appがあります)。1つはGUIで、もう1つはエージェント(サービス)です。インストールパッケージは、エージェントがエージェントとしてインストールされるように、インストールの最後にスクリプトを実行する必要があります(これが実行できることを私が知っている唯一の方法です)。/ Library / LaunchAgentsにインストールされる.plistファイルもありますが、これはPackageMakerが自動的に行うことです(つまり、スクリプトは必要ありません)。

問題は...スクリプトを実行できないことです。最後に「インストールに失敗しました」と表示されます。何が問題なのかわかりません。誰か助けてもらえますか?

さらにいくつかの詳細:

  • 私は飛行後のステップでこれを行おうとしています(インストールが完了した後)。推測です...同じ名前でファイルを呼び出す必要がありますか(例:飛行後)?
  • これが私が設定した正しいディレクトリとパスだと思います。何十回も試行した後、最後の1つで、PackageMakerドキュメントが存在するパスを「相対パス」として設定しました(同じフォルダー内にスクリプトがあります)。問題を引き起こす可能性のあるパスについて知っておくべき重要なことはありますか?(ただし、実際には、ビルドは成功しています)
  • スクリプトを実行できるようにするために、特定の何かを書く必要がありますか?次のスクリプトがあります:MyInstall.sh

次の内容(引用符なし):

"#!/ bin / sh

sudo launchctl load /Library/LaunchAgents/com.MyCompany.MyService.plist "

(com.Mycompany.MyService.plistはすでに存在していることに注意してください-インストール時にそこに配置されます)。

PSそれを機能させるための私の試みのいくつかで、PackageMakerは押しつぶされました。

誰か助けてもらえますか?

4

2 に答える 2

2

インストールログを見ることができます。

インストーラアプリケーションの実行中に、[ウィンドウ] メニューに移動し、[インストール ログ] を選択します。これにより、別のログ ウィンドウが開きます。このウィンドウで、コンボ ボックスから[すべて表示]を選択します。スクリプトが失敗する理由を確認できます。

于 2011-10-25T11:22:28.097 に答える
0

そんな経験をしました。そして、これが私が見つけたものです。インストールを成功させるには、sriptが明示的に0(つまり「success」)を返す必要があります。スクリプト内のコマンドの結果が0でなく、呼び出していない場合

exit 0

最後のスクリプトセンテンスとして、インストールは失敗したことを通知します。

スクリプトの戻り値を使用せず、scrpitが正しく機能することが確実な場合は、スクリプトの最後の行に「exit0」を追加するだけです。

于 2012-06-01T07:51:43.733 に答える