Package Maker #4 (インストールの必須条件のチェック)
この記事では「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」から、
メッセージを取得して表示します。
メッセージファイルを置く場所
特定ロケール用のメッセージファイルは、「ロケール名 + .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="インストールできません。";
Recent Comments
ありがとうございます!
http://nanasi.jp/articles/howto/editing/visualcursor-endtoend.html · 7 years ago
知りませんでした。有難うございました。
http://nanasi.jp/articles/howto/file/open-with-format.html · 9 years ago
<c-f>1ページ分、下にスクロールする<c-b>1ページ分、上にスクロールする
どっちも逆です。
http://nanasi.jp/articles/howto/user-manual/user-manual-motion.html · 10 years ago
set 使用時に : で閉じるのを忘れて右往左往してました。
http://nanasi.jp/articles/howto/file/modeline.html · 10 years ago
やっぱり日本語の方が早いっす。
http://nanasi.jp/articles/howto/help/help_ja.html · 12 years ago