2012-05-08 6 views
2

インストール時に元の* .pkgファイルディレクトリを取得するにはどうすればよいですか?MAC PackageMaker preinstall/postinstallスクリプトを使用して元の* .pkgファイルディレクトリ

私はPKGファイルを作成し、同じフォルダに別のファイル(test.txtのような)でそれを入れて、〜/デスクトップ/テスト

、いつPKGファイルをインストールするように、私はそれが「テストをコピーしたいしています.txt "ファイルを〜/ Libraryフォルダにコピーします。 "test.txt"ファイルをコピーするには、preinstall/postinstallスクリプトをpkgファイルに追加します。 私はディレクトリが

DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 

使用取得しようとする。しかし、それは誰もがインストールしたときに、元のディレクトリを取得する方法を知っています(~/Desktop/test)

tmpディレクトリ

/private/tmp/PKInstallSandbox.G5GFI6/Scripts/com.myApp.testApp.pkg.o5k2nE 

ないオリジナルpkgディレクトリを返します。 ?

+0

パッケージにplistを埋め込まないのはなぜですか?またplistはパッケージではなく、あなたのアプリケーションで作成する必要があります – CharlesB

+0

plistファイルは後で変更される可能性があります。plistファイルが変更されたときに頻繁に新しい関連するpkgを作成します。 BTW:それは、コピーするファイルをplistだけでなくてもよい。 –

+1

解決方法を見つけましたか? – MiuMiu

答えて

7

フラットパッケージを作成しましたか? postinstallスクリプトに渡されたパラメータを調べてみましたか?

$0 - Script path 
$1 - Package path 
$2 - Target location 
$3 - Target volume` 

パラメータ$ 1は、あなたが探しているものを提供します。

old bundle style format informationからコピーされましたが、まだ新しいフラットパッケージに適用されるようです。

2

このMac Installers Blogには、一般的な問題の使用法と解決方法の詳細を含むPackagemakerに関する有用な記事がいくつかあります。

2

この:

pkgpath=\`dirname "$PACKAGE_PATH"\` 

はあなたの変数$pkgpathパッケージへのパスを提供します。

関連する問題