[All]
InstallAware を使って配布モジュールを作成する
投稿者: : Chikako Yonezawa
概要: Delphi 2007 for Win32 に付属している InstallAware を使用した基本的な配布モジュール作成の手順について説明します。
Delphi 2007 for Win32では、従来の InstallShieldに代わり、InstallAwareが付属しています。
従来の InstallShieldと同様に、必要な項目を設定することにより、配布モジュールを作成することができます。
※InstallAwareはインストールする際に言語の選択で「Japanese」を選ぶことにより、UIが日本語となります。(ただしヘルプは英語のままです)
配布アプリケーションの作成
まず、InstallAwareの説明のために、簡単なアプリケーションを作成します。ここではおなじみの Hello Worldを表示するだけのアプリケーションを作ります。
- Delphi 2007 for Win32を起動します。
- [ファイル|新規作成|VCLフォームアプリケーション - Delphi for Win32]を選択します。
- ツールパレットの TLabelと TButtonをそれぞれダブルクリックして、表示されたフォーム上に追加します。
- Label1の Captionを空白にします。
- Button1の Captionを "Button1"から "Click"に変更します。
- デザイナ上の Button1をダブルクリックし、OnClickイベントを生成し、以下のコードを記述します。
Label1.Caption := 'Hello World';
- [ファイル|プロジェクトに名前を付けて保存]を選択し、ディフォルトのプロジェクトの保管場所である \RAD Studio\Projectsの下に \HelloWorldディレクトリを作成し、作成したディレクトリ内にユニット・プロジェクトにそれぞれ"HelloWorldUnit.pas" と "HelloWorld.dproj" と名前をつけ、保存します。
- [プロジェクト|すべてのプロジェクトをビルド]を実行し、実行ファイルを生成します。(念のため [実行|実行]または F9キーを押し、動作を確認してください)
これで、配布するアプリケーションの用意ができました。
InstallAware上の操作
次に、InstallAwareを起動します。今回は、上記のアプリケーションの配布に必要な最低限の設定と、インストールのダイアログのローカリゼーション(翻訳)の方法についてのみ説明します。
- 始めて InstallAwareを起動しますと、新規プロジェクトの作成ダイアログが表示されます。既に InstallAwareを起動している場合は、最後に終了した際の状態でそのまま表示されますので、[ファイル|新規|デフォルトのプロジェクト]を選択して、新規プロジェクトの作成ダイアログを表示します。
Note: 「全タイプ」のタブをクリックしますと、他に作成可能なテンプレート・サンプルなどが案内されます。 |
|
- プロジェクト名を HelloWorldDeployとし、Projectフォルダには、先程作成した Hello Worldアプリケーションのフォルダを指定します。また、「サブフォルダにプロジェクトを作成」のチェックボックスにチェックをつけておきます。
- [OK]ボタンをクリックして、新規プロジェクトの作成を開始します。

アプリケーション情報
配布するアプリケーションに関連する情報を設定します。
何も修正しなかった場合、デフォルトとして設定されている情報がアプリケーションの情報としてインストーラーに組み込まれるのでご注意ください。
プロジェクトのプロパティ
最低限、「製品名、製品のバージョン、製造会社」の各項目を設定します。
デフォルト言語の部分は「Japanese」とします。
※[ローカライズ]のボタンの操作については後述します。

概要情報
最低限、「タイトル・サブジェクト・著者」の各項目を設定します。

プログラムの追加・削除
最低限「出版社名、連絡先、ヘルプ・リンク、製品アップデード・リンク」の各項目を設定します。

セットアップ・アーキテクチャ
配布するアプリケーションの設定、また必要であればレジストリ等の情報を設定します。
ファイル
今回、アプリケーションを、デフォルトで \Program Files\HelloWorldDeployの下にインストールされるよう設定します。
- 画面の左下のターゲットフォルダのツリー内の $TARGETDIR$をクリックし、強調表示状態にします。
- 上部の左側のツリーで、配布するアプリケーションが格納されているフォルダを指定します。
- 右側にファイルの一覧が表示されますので、配布するファイルを選択(ここでは .exeのみ)し、[ファイルの追加]ボタンをクリックします。
下部の $TARGETDIR$を選択すると、右側のターゲットファイルの部分に追加したファイルが表示されます。

ユーザ・インタフェース
インストーラのテーマや、表示するダイアログの選択、著作権・ReadMeについての設定を行います。
EULA及び ReadMe
- 「表示するテキスト」で EULAを選択し、著作権に関する記述を下の部分に記述、または、ファイルから読み込み、[保存]ボタンをクリックします。
- 「表示するテキスト」で ReadMeを選択し、セットアップ前に表示される ReadMeを下の部分に記述、または、ファイルから読み込み、[保存]ボタンをクリックします。

拡張オプション
セットアップの拡張の設定をします。
プログラムを実行
デフォルトのインストールダイアログには「インストール終了後にインストールしたアプリケーションを起動する」という動作を選択するチェックがあります。
ここにチェックがつけられた際に、正しくアプリケーションを起動するための設定を行います。
- [新規]のボタンをクリックします。
- 「プログラムを実行」のダイアログが表示されますので、[ブラウズ]ボタンを押し、$TARGETDIR$に設定した、アプリケーションファイルを選択し、[OK]ボタンをクリックします。
- 他の部分はそのままで、[OK]ボタンをクリックし、ダイアログを終了します。

配置
どのような形態で配布を行うか等の設定を行います。
ビルドの設定
ビルドタイプを選択します。
今回は、アプリケーション自体も小さいものですので、「圧縮された Single Self-Installing EXE」を選択し、単一の exeファイル(helloworlddeploy.exe)を作成するようにします。

以上の設定を行ったところで、配布プロジェクトのビルドを行い、配布モジュール(今回は helloworlddeploy.exe)を生成します。
[プロジェクト|ビルド]を選択するか、ツールバー上の「カレントプロジェクトのビルド」ボタンをクリックするとビルドが開始されます。
作成されたモジュールは、「圧縮された Single Self-Installing EXE」の場合 \Release\Singleに作成されます。
Note: ビルドの設定で、 ・「圧縮されていないディレクトリ」を選択した場合は、\Release\Uncompressed ・「圧縮された Webベースの EXE」の場合は \Release\Web ディレクトリに配布モジュールがそれぞれ作成されます。 |
|
ビルドが終了したところで、インストーラの動作を確認します。
[実行|デバックなしで実行]を選択するか、ツールバー上の「デバックなしでカレントプロジェクトを実行」ボタンをクリックすると、インストールが開始されます。
指定したアプリケーションが、正しくインストールされ、起動できることを確認します。
Note: 既にインストール済みの場合は、まずアンインストールのプロセスが起動し、その後にインストールの動作が行われます。 |
|
インストーラのローカライズ
次に、インストーラのダイアログをローカライス(翻訳)する手順について説明します。
インストールの際のダイアログは、現在全て英語で表示されています。
ユーザ・インタフェース|ダイアログにて表示されるダイアログのイメージを利用して、予め翻訳イメージを作成しておくと良いでしょう。
- [ツール | ローカリゼーション・ウィザード]を選択するか、アプリケーション情報の「プロジェクトプロパティ」の画面上にある[ローカライス]のボタンをクリックします。

- ローカリゼーション・ウィザードの画面が表示されますので、[次へ]をクリックします。
- 初めてローカリゼーション・ウィザードを起動した際には、翻訳のための文字列が抽出されていないので、「プロジェクトから Translatorに文字列をエクスポート」のタスクを選択し、[次へ]をクリックします。

- エクスポートロケーションのダイアログが表示されます。
- 抽出されるファイルを格納するためのフォルダを指定します。今回は、この配布プロジェクトのフォルダ(\Release\Single)を指定します。
- [次へ]のボタンをクリックし、ファイルのエクスポートを行います。
- ファイルのエクスポートが終了しますと終了ダイアログが表示されます。画面上の[ツールの開始]ボタンをクリックします。
- InstallAware Translatorが起動します。
- 左の All Languageのツリーから Japaneseを選択し、+ボタンを押してツリーを展開します。
- 左側のツリーで選択したダイアログの項目が、右側に表示されます。
- 右側の画面の左側の String Translation(Japanese)の項目を修正します。翻訳後、元の英語に戻したい場合は、[View|Revert]を選択する他、ツールバー上の[Revert]ボタンをクリックします。

- 翻訳が終わりましたら [File|Exit]にて終了します。修正した内容は自動的に保存されます。
- ローカリゼーション・ウィザードのダイアログに制御が戻りますので[終了]ボタンをクリックし、ローカリゼーション・ウイザードを終了します。
- この状態では、翻訳した文字列が、プロジェクト側に反映されていません。翻訳した文字列をプロジェクトに反映するため、再度、ローカリゼーションウィザードを再度起動します。

- 今回は「Translatorからプロジェクトに文字列をインポート」を選択し[次へ]をクリックします。
- インポートロケーションのダイアログが表示されます。
- エクスポートロケーションの際に指定したフォルダを指定し、[次へ]をクリックします。
- インポートする言語を選択します。今回は Japaneseの部分のみチェックを付け、[次へ]をクリックします。

- 終了ダイアログが表示されます。InstallAware自身のインストーラメッセージ(たとえばインストール言語の選択など)を修正したい場合は、[インストーラのメッセージを編集]をクリックし、InstallAware Translatorを起動し、文字列の翻訳を行います。(InstallAware Translatorの終了の際に自動的に修正した内容は保存されます)
- ローカリゼーション・ウィザードのダイアログに制御が戻りますので[終了]ボタンをクリックし、ローカリゼーション・ウイザードを終了します。
再度、プロジェクトのビルドを行い、インストーラの動作を確認すると、翻訳された画面が表示されるようになります。

今回紹介した例は、非常に簡単な配布モジュールの作成方法です。しかし、この基本的な流れを理解し、他の設定を加えることにより、多種多様な配布モジュールを作成することが可能です。