2011-01-06 38 views
0

我正在嘗試爲我創建的Mail.app插件創建一個安裝程序包。它需要做兩件事情: 1.安裝.mailbundle(這是一個簡單的文件夾)到〜/資源庫/郵件/捆綁 2.運行兩個終端命令,使郵件捆綁使用PackageMaker安裝Mail插件?

問題的癥結似乎來源於我試圖安裝在用戶的個人文件夾中的事實,因爲PackageMaker應用程序似乎沒有「當前登錄的用戶」變量,所以當我指定誰應該是文件的所有者時。現在,我自己指定爲所有者,認爲PackageMaker會智能地將其視爲「當前用戶」,但似乎並非如此;當我嘗試在其他人的機器上安裝軟件包時,一個未知用戶(可能是我)是該文件夾的所有者,並且啓用郵件包的postinstall腳本似乎不起作用(可能是因爲安裝程序以root身份運行,這可以防止默認程序寫入當前用戶的郵件首選項文件)。

我已經做了很多尋找這個東西,但大多數人似乎正在安裝自己的獨立應用程序,沒有人做的東西嚴格存在於主文件夾。我將嘗試一個簡單的shell腳本,用戶可以通過雙擊來安裝插件,但我真的需要將它作爲pkg工作,以便Sparkle能夠正常工作。

我希望能夠做的另一件事是檢查郵件是否在安裝時運行,並提示用戶退出程序。現在我可以靜靜地退出程序,但我寧願讓用戶退出,只是爲了安全起見。我知道這是可能的,因爲iTunes更新程序會這樣做,但我在PackageMaker中看不到任何直接的方法,所以我猜測需要更具創造性的解決方案。

任何想法?

+0

根據http://discussions.apple.com/message.jspa?messageID=3606045它似乎是不可能的,但我覺得它將不得不,因爲其他郵件插件完成此(GrowlMail, GPGMail等)。 – Aaron 2011-01-06 19:58:58

回答

0

下載GrowlMail源代碼並查看MakeFile。我想你可能需要通過使用腳本以這種方式移動文件。

+1

這很好。我將這些文件安裝到臨時文件夾,並使用安裝後腳本創建目錄/ Library/Mail/Bundles並將郵件包移動到那裏。 – Aaron 2011-07-28 20:22:59