PackageMaker 3.0.6を使用して、10.7で次のオプションを使用してフラットな.pkgファイルを作成しました。
/Applications/PackageMaker.app/Contents/MacOS/Package --root ./myroot \
--id com.myroot.pkg --title "My Root" --scripts ./scripts --target 10.5 \
--verbose --resources ./resources --root-volume-only --domain system \
--no-relocate --versio 1.0 --certificate "My Cert Name"
resources
私が持っているフォルダ、そして私が持っているbackground.png
フォルダWelcome.rtf
、License.rtf
そしてscripts
それらpreflight
のpostflight
スクリプトのさまざまなサポートファイル。結果の.pkgは、インストーラーが私のバックグラウンド、ウェルカム、またはライセンスを表示しないことを除いて、完全に機能しているように見えます。
フラットパッケージにカスタムの背景、ウェルカム、ライセンスを追加するにはどうすればよいですか?
私の知る限りDistribution
、.pkg内のファイルには、バックグラウンド、ウェルカム、およびライセンスファイルへの参照がありません。
回避策として、を使用してみxar
ました。次のようにxarでパッケージを解凍した場合:
xar -xf ./myroot.pkg -C work
これらのファイルに3つのタグを追加してから、xarで再度パックします。
cd work && xar -cf ../myroot2.pkg *
バックグラウンドなどでインストールを開始するパッケージを取得しましたが、.appをインストールするときに、次のエラーが発生します(から/var/log/install.log
):
run preupgrade script for myroot
Could not create task for action: run preupgrade script for myroot2
Install failed: The Installer could not extract files from the package for myroot2. Contact the software manufacturer for assistance.
IFDInstallController 863170 state = 7
Flat Package Editorも試しました。myroot.pkgを開き、Distributionをドラッグアウトして編集し、ドラッグして戻し、古いDistributionを削除して保存します。xarと同じ問題。
GUIを使用するのではなく、完全にスクリプト化可能なソリューションが必要です。
編集:私はまたpkgutil
、フラットパッケージを拡張、編集、および再フラット化するために使用しようとしました。これにより、インストーラーでアイコンとreadmeが取得されますが、インストーラーはペイロードを解凍できません。でリフラットしても同じですFlat Package Editor
。PackageMakerを使用せずに拡張パッケージを作成しようとしましたが(10.8を除いて機能します)、pkgutilを使用してそれをフラット化しようとすると、パッケージが破損します。