最近のMacのアプリはMac App Storeで配布されることが増えてきて、インストーラを使うことは減ってきました。しかし、Mac App Store以外での配布ではインストーラを使った方が便利なことが多く、特に、システム内の特定の場所にインストールしなければいけないドライバやインストール後に必ず実行するスクリプトなどがある場合には、インストーラはとても有効な手段です。
Macでは、インストーラは「.pkg」や「.mpkg」といった拡張子を持っています。こういったインストーラを作成するにはPackage Makerというアプリを使ってきました。このアプリは開発ツールの一つとしてXcodeと一緒にインストールされてきました。しかし、あるときより別ダウンロードになり、そして、最新のXcodeでは廃止予定となってしまい、古いバージョンをインストールしかないという状況です。
現在は、コマンドラインツールの「productbuild」や「pkgbuild」といったものを使って作成します。Package Makerでできたほとんどのことは、この2つのコマンドラインツールでできるようですが、どうしても、「.mpkg」という拡張子を持つ「Meta Package」(以降、mpkgと書きます)の作り方が見つかりませんでした。単純に他のpkgを内包するので良ければ、mpkgを作らず、配布用のフラットなpkgを作れば良いのですが、内包せずに、別ディレクトリに入っているpkgから必要なものだけを実行するということはmpkgでなければできないのです。こういったことが必要なケースというのも存在します。
productbuildで使用するDistribution.xmlのリファレンスには「mpkg」というオプションが出てくる(とはいっても非推奨で、情報がほとんど無い)ので作る方法はあるのでしょうが、ここは標準ツール以外のツールで探してみました。
そして、見つかったのが「Packages」というアプリです。10.4時代のPackage Makerと同様に内包しないタイプのmpkgも作ることができました。古いマシンが動かなくなっても作成環境だけはキープできそうです。
WhiteBox – Packages
http://s.sudre.free.fr/Software/Packages/about.html
目次