2012-05-09 34 views
0

我有一個運行postinstall腳本的Mac OS X flat軟件包。我想在腳本中知道它是新安裝還是升級。 Bundle風格的包具有pre和postupgrade腳本,但我不能使用bundle包。如何判斷我的軟件包是否在平面軟件包安裝後腳本中升級?

我已經拋棄了腳本中的環境變量,並且將參數轉儲到了腳本本身,並且這些腳本都沒有顯示它是否是升級或安裝。我可以告訴安裝程序知道,因爲安裝程序日誌表示安裝或升級。我只是不知道如何從postinstall腳本中得知。

回答

0

如果是你的包裝,爲什麼不檢查你已經在機器上的跡象?要麼留下一些標記,告訴你已經安裝了,或者在部署之前檢查你的舊文件是否存在於磁盤上?

+0

這就是我最終做的。在我的預安裝腳本中,我使用pkgutil來查看我的軟件包是否已安裝並創建一個標誌文件,然後我的安裝腳本會檢查它是否是升級。 – Dustin

0

如果您的軟件包是首次安裝,安裝程序將調用postinstall腳本,但如果升級了它,它應該調用postupgrade腳本。

更多信息here關於腳本部分。

相關問題