2012-05-09 7 views
0

postinstallスクリプトを実行するMac OS Xフラットパッケージがあります。私はそれが新しいインストールかアップグレードかスクリプトで知りたい。バンドルスタイルのパッケージには、アップグレード前後のスクリプトがありますが、バンドルパッケージを使用することはできません。フラットパッケージポストインストールスクリプトでパッケージがアップグレードされているかどうかを確認するにはどうすればよいですか?

私はスクリプト内の環境変数をダンプしました。私はスクリプト自体に引数をダンプしました。これらのどれも、アップグレードかインストールかを示すものではありません。インストーラのログには、インストールまたはアップグレードが示されているため、インストーラが認識していることがわかります。私はポストインストールスクリプトからどのように伝えるべきか分かりません。

答えて

0

パッケージの場合は、すでにマシンに入っていることを確認してください。すでにインストールされていることを示すマーカーを残すか、展開前に古いファイルがディスクに存在するかどうかを確認してください。

+0

これは私がやったことです。私のプレインストールスクリプトでは、私のパッケージがインストールされているかどうかを確認するためにpkgutilを使用しています。そしてpostinstallスクリプトがアップグレードかどうかを確認するフラグファイルを作成します。 – Dustin

0

パッケージが初めてインストールされた場合、インストーラはpostinstallスクリプトを呼び出しますが、アップグレードされた場合はpostupgradeスクリプトを呼び出す必要があります。

詳細情報hereスクリプトについてセクション。

関連する問題