【DO!BOOK・ページリンク】
migaro_tech2012   46 / 100

BOOKをみる

10秒後にBOOKのページに移動します


44 ●サイレントインストール  ここで、Delphi/400 のインストーラ 画面を表示せずに、Delphi/400 のイン ストールを実現する方法を紹介しよう。  Delphi/400 運用版は、「サイレントイ ンストール」を行うことができる。サイ レントインストールとは、応答ファイル を使用することにより、インストール中 にインストーラ画面が表示されず、入力 や応答が不要になるインストール手法で ある。  なお、Delphi/400 インストーラ用の 応答ファイル(iss ファイル)は、製品 保守のサービスから入手することができ る。注意点としては、iss ファイルは Delphi/400 のバージョンごとに用意さ れているので、使用バージョンに適応し たものを使う必要がある。  通常サイレントインストールは、 Windows のコマンドプロンプトより、 以下のコマンドで実行する。このコマン ドにより、D ドライブにあるSetup.exe が指定された応答ファイルC:\ INSTALL\setuppcE.iss を参照して実 行され、その間インストール画面は一切 表示されない。 D:\SETUP.EXE -S -F1C:\INSTALL\ setuppcE.iss  InstallAware では、ツリーメニュー の[セットアップ・アーキテクチャ|ファ イル]のステップで、応答ファイル setuppcE.iss の配布を指定する。図18 では、配布先$TARGETDIR $ に setuppcE.iss を指定している。【図18】  次に[拡張オプション|プログラムを 実行]のステップで、「プログラムファ イル」はパラメータを付けず $MYCDPATH $\SETUP.exe のままと し、「パラメータ」でパラメータの-S -F1C:\Migaro\setuppcE.iss を入力す る。  ただし、このパラメータでは、予約語 $TARGETDIR $が指定できない。その ため、コマンドプロンプトから実行でき るように、iss ファイルの参照先は $TARGETDIR $が指す場所を記述す る。ここでは、C:\Migaro\setuppcE.iss となる。(「2-1. アプリケーション情報」 の「ターゲットフォルダ」参照)。【図 19】  以上により、インストール先に、配布 された応答ファイルを参照しながら、サ イレントインストールが行われる。  なお、サイレントインストールで注意 する点として、セットアップの結果が、 応答ファイルと同じ場所に書き込まれ る。具体的には、セットアップの結果ファ イルとしてsetup.log が作成され、成功 すればResultCode=0 と書き込まれる。 このため、配布先は参照だけでなく、書 き込みができる場所でなければならな い。 6.補足および注意点 ● InstallAware のインストール  InstallAware は、別途インストール する必要がある。Delphi またはRAD Studio の製品DVD 起動時に表示され るメニューから選択し、インストールを 行う。  ただし、Version2010 以降のメニュー からインストールした場合、英語UI 版 となる。日本語UI 版は、インストール メニューには表示されていないため、直 接DVD にある下記のインストーラを実 行する。 \InstallAware\ia6-codegear-expressspecial- edition.exe ● dbxdrivers.ini  前述の「3. dbExpress でのポイント」 で、dbxdrivers.ini の配布先を、プログ ラムと同じ場所と説明した。しかし、レ ジストリにその場所を登録すると、以降 はEXE と同じ場所に配布する必要はな くなる。  キーは、VersionXE の場合、レジスト リHKEY_CURRENT_USER \Software \Embarcadero \BDS \8.0 \DB Express のキー「Driver Registry File」 に、dbxdrivers.ini が存在するパスを指 定する。そして、dbxdrivers.ini の配布 先をそのパスとすることで、EXE 以外 の場所が参照される。  InstallAware では[セットアップ・ アーキテクチャ|レジストリ]から指定 する。図20 のように、@で参照元のキー のパスを選択すると、A にキーの Driver Registry File が表示されること を確認し、選択する。Bで参照元と同じ HKEY_CURRENT_USER を選択した 状態で、[値の追加]ボタンを押すと、 図21 のように参照元のレジストリキー の階層でキーが追加される。【図20】【図 21】 7.まとめ  今回はDelphi/400 運用環境に必要な ファイルの配布だけでなく、Delphi/400 のインストーラを呼び出す方法までを説 明した。  ツリーメニューに従って確認していく と分かるが、今回紹介していない機能も まだInstallAware には多くあるので、 Delphi/400 の運用環境構築に限らず、 さまざまなファイル配布時に役立ててい ただきたい。  また、InstallAware で行えない細か い制御が必要な場合などには、 Delphi/400 で作成したアプリケーショ ンから、InstallAware で作成したイ ンストーラをCreateProcess 等の Windows API 関数を使って呼び出すこ とも可能である。  とはいえ、InstallAware からは、ファ イル配布やレジストリキー設定等を画面 で存在を確認しながら行えるなど、操作 しやすく、機能も充実している。 InstallAware の特性を活かせば、かな り高機能なインストーラを作成できるだ ろう。 M