パーソナルツール

Package Maker #4 (インストールの必須条件のチェック)

作者: 小見 拓 最終変更 2012年01月08日 12時16分

この記事では「Package Maker」で作成されるインストーラーで行われる インストールの必須条件のチェック方法についての説明をします。 (Mac)

概要

この記事では「Package Maker」で作成されるインストーラーで行われる インストールの必須条件のチェック方法についての説明をします。

InstallationCheck、VolumeCheckによるチェック

インストール時に、インストールの必須条件が整っているかをチェックするためには、 「InstallationCheck」「VolumeCheck」という名前のスクリプトを用意します。
このスクリプトが返す結果で、 「Package Maker」で作成するインストーラーの挙動を変えられます。

# 例。スクリプトでの結果の返し方。
#!/bin/sh
exit 127

InstallationCheckスクリプト

返すコード チェックの結果 備考
0 成功 そのままインストールは継続される。
32 警告表示 「インストールできません」と警告を表示。インストール作業は継続する。
48~63 警告表示 上と同じく警告を表示するが、表示するメッセージを指定できる。
64 インストール中止 インストールを中止する。
112~127 インストール中止 上と同じくインストールを中止するが、表示するメッセージを指定できる。

VolumeCheckスクリプト

返すコード チェックの結果 備考
0 成功 そのままインストールは継続される。
32 失敗 インストールを失敗させる。
48~63 失敗 上と同じくインストールを失敗させるが、表示するメッセージを指定できる。

メッセージファイル

メッセージファイルの名前

表示するメッセージは、Mac OSX独自の形式でローカライズされたメッセージファイルを使って、 指定します。
インストーラーは、

  • InstallationCheckが原因でメッセージを表示する時は「InstallationCheck.string」から、
  • VolumeCheckが原因でメッセージを表示する時は「VolumeCheck.string」から、

メッセージを取得して表示します。

メッセージファイルの書式

メッセージファイルのフォーマットは次の書式です。

メッセージ1のキー="表示するメッセージ1";
メッセージ2のキー="表示するメッセージ2";

メッセージファイルを置く場所

特定ロケール用のメッセージファイルは、「ロケール名 + .lproj」という名前のディレクトリ を用意し、そのディレクトリ内に配置します。

  • 日本の場合は「Japanese.lproj」
  • 英語圏の場合は「English.lproj」

という名前のディレクトリに、 そのロケール用のメッセージファイルを入れます。

メッセージのキー

メッセージファイルからメッセージを取得するキーは、 InstallationCheck、VolumeCheck、各スクリプトの返した結果から決定されます。
下に用意した表はその対応表です。

スクリプトの結果と、表示するメッセージのキーの対応表
スクリプト 48 ~ 63 112 ~ 127
InstallationCheck (スクリプトで返した値 - 32) (スクリプトで返した値 - 96)
VolumeCheck (スクリプトで返した値 - 32)  

例えば、VolumeCheckで「60」を返した場合は、

60 - 32

となり、メッセージファイルのキー「28」のメッセージを表示します。

サンプル

下記に記述したファイルを用意し、「Package Maker」のResourcesタブで指定すると、
前記の表に従って(InstallationCheckで120の結果) インストールが中止され、
前述のとおり、キー「24」 (120-96=24で) のメッセージが表示されます。

ファイルの構成

InstallationCheck
Japanese.lproj/InstallationCheck.string

各ファイルの中身

# InstallationCheck
#!/bin/sh
exit 120
# Japanese.lproj/InstallationCheck.string
24="インストールできません。";
ドキュメントアクション
コメント
blog comments powered by Disqus