2011-10-25 153 views
2

我試圖在Mac上爲我的應用程序(有兩個.app-s)構建安裝包。其中一個是GUI,另一個是代理(服務)。安裝包必須在安裝結束時運行一個腳本(這是我知道它可以完成的唯一方式),以便代理將作爲代理安裝。還有一個.plist文件安裝在/ Library/LaunchAgents中,但這是PackageMaker自動執行的操作(即不需要腳本)。在PackageMaker中使用腳本(Mac OS X)

問題是,我無法讓腳本運行。最後我得到「安裝失敗」。 我不知道問題是什麼。有人可以幫忙嗎?

的詳細原因:

  • 我試圖做到這一點在飛行後的步驟(安裝完成後)。只是一個猜測......我是否需要用相同的名稱(例如postflight)來調用我的文件?
  • 我想這是我設置的正確目錄和路徑。經過數十次嘗試之後,我在最後一次將「相對路徑」設置爲PackageMaker文檔的路徑(位於同一文件夾中,我有腳本)。有什麼重要的我應該瞭解可能導致問題的路徑? (但事實是,構建成功)
  • 我是否必須編寫一些特定的腳本才能執行?我有以下腳本: MyInstall.sh

具有以下內容(不帶引號):

「#/ bin/sh的

須藤launchctl負載/庫/ LaunchAgents/com.MyCompany.MyService.plist「

(請注意,com.Mycompany.MyService.plist已經存在 - 它在安裝時將其放在那裏)。

P.S.在我的一些嘗試中,PackageMaker粉碎了。

任何人都可以幫忙嗎?

回答

2

您可以查看安裝日誌。

安裝應用程序正在運行,進入窗口菜單並選擇安裝日誌。這將打開一個單獨的日誌窗口。在此窗口中,從組合框中選擇Display All。你將能夠看到你的腳本爲什麼失敗。

+0

謝謝。我不知道它有什麼信息(如日誌)寫在某個地方,也不知道它可能在哪裏。我不確定我做了什麼來實現它(也許事實上,我使用chmod將腳本設置爲可執行文件),或者我不知道我做了哪些重要的事情,但是在做完之後,我再次嘗試它的工作。感謝您告訴我有關日誌以及在哪裏可以找到它(現在我可以在發生某些事情時看到原因) – Feoggou

0

我自己也有過這樣的經歷。這是我發現的。 爲了使安裝成功,您的sript必須顯式返回0(即'success')。 如果腳本命令的結果不爲0,你是不是叫

exit 0 

去年腳本sentense,你的安裝會告訴你失敗了。

如果您不使用腳本的返回值,並且您確定scrpit正常工作 - 只需在腳本的最後一行添加'退出0'即可。