InstallShield Tip: ダイアログボックス ビットマップの 変 更 この 文 書 は Acresso Software の 次 の 文 書 を 元 に 記 載 しています http://www.acresso.com/webdocuments/pdf/dialogbitmaps.pdf Changing Dialog Box Bitmaps 検 証 したバージョン: InstallShield 2009 Premier Edition 要 約 InstallShield のインストーラで 表 示 するユーザインターフェースに 関 する 一 般 的 なタスクとしてダイアログボックス の 標 準 のビットマップをインストールする 製 品 に 関 連 するビットマップに 変 更 するというものがあります この 記 事 では 基 本 の MSI プロジェクト 及 び InstallScript MSI InstallScript プロジェクトで 表 示 するデフォルトのビッ トマップを 変 更 する 方 法 を 説 明 します ダイアログボックスのタイプ インストーラで 表 示 するダイアログボックスには 2 つのカテゴリ 外 部 と 内 部 ダイアログがあります 外 部 ダ イアログボックスはインストールの 最 初 にと 最 後 で 表 示 されるものです 一 般 的 には ようこそ および 完 了 ダイ アログになります 内 部 ダイアログは ようこそ ダイアログの 後 および 完 了 ダイアログの 前 に 表 示 されます デ フォルトでは 外 部 ダイアログボックスは 以 下 のようになります 1/8
内 部 ダイアログボックスは 以 下 のようになります 2/8
基 本 の MSI プロジェクト 内 部 ダイアログ 基 本 の MSI プロジェクトの 内 部 ダイアログに Banner と 呼 ばれる Bitmap コントロールがあります Banner コントロールには バナーイメージのビットマップを 指 定 する File Name プロパティがあります デフォルトでは Banner の File Name のプロパティは 次 のイメージを 指 定 します <ISProductFolder>\Support\Themes\InstallShield Blue Theme\banner.jpg または <ISProductFolder>\Redist\Language Independent\OSIndependent\IsDialogBanner.ibd デフォルトイメージは 499 58 ピクセルの JPEG ファイルです (ファイル 拡 張 子.ibd は インストーラバイナリー データ を 表 します ) 個 々のダイアログボックスのバナーを 変 更 するには Banner コントロールの File Name プロパティにビットマップ (.bmp) または JPEG イメージを 指 定 します [ダイレクトエディタ]ビューでプロジェクトの Control テーブルを 確 認 すると Binary テーブルから 様 々な 内 部 ダイア ログのバナーイメージを 取 得 していることがわかります デフォルトでは NewBinary1 となっています 新 規 ビットマ ップを Binary テーブルのレコードである NewBinary1 に 格 納 するには ダイレクトエディタ 該 当 レコードを 選 択 し "{バイナリデータ}" フィールドをクリックし 画 像 を 指 定 することも 可 能 です プロジェクトをビルド 後 内 部 ダイアログにカスタムバナーが 表 示 されます 3/8
外 部 ダイアログ 外 部 ダイアログには Image と 呼 ばれる bitmap コントロールがあり ダイアログ 全 体 の 左 側 には 画 像 右 側 には 白 い 背 景 を 表 示 しています Image コントロールの File Name プロパティは 次 のファイルを 指 定 しています <ISProductFolder>\Support\Themes\InstallShield Blue Theme\welcome.jpg または <ISProductFolder>\Redist\Language Independent\OSIndependent\IsDialogBitmap.ibd 前 述 と 同 様 に 個 々の 外 部 ダイアログのバナーを 変 更 するには File Name プロパティにビットマップ(.bmp) または JPEG イメージを 指 定 します デフォルトイメージ 499 312 画 素 の JPEG です デフォルトで Binary テーブルの NewBinary5 に 格 納 されていま す 全 ての 外 部 ダイアログのイメージを 変 更 するには NewBinary5 レコードの"{バイナリデータ}" フィールドをクリ ックし 画 像 を 指 定 します プロジェクトをビルド 後 外 部 ダイアログにカスタムサイドバーイメージが 表 示 されます 4/8
InstallScript MSI InstallScript プロジェクト 内 部 ダイアログ InstallScript MSI の 内 部 ダイアログバナービットマップを 変 更 するには DialogSetInfo 関 数 を 使 用 して 代 わりのビ ットマップファイルを 指 定 する 必 要 があります ( 基 本 の MSI プロジェクトとは 違 い InstallScript ダイアログでは JPEG イメージはサポートされていません ) 画 像 ファイルをプロジェクトに 格 納 するには 例 えば IDE の [サポート ファイル/ビルボード] ビューにある [ 言 語 非 依 存 ] セクションに 配 置 します ランタイム 時 に [サポートファイル] ビューに 配 置 したファイルはテンポラリディレクトリに 展 開 されます その 位 置 は InstallScript 変 数 の SUPPORTDIR に 格 納 されています. 初 回 およびメンテナンモードで 使 用 するバナー 画 像 を 指 定 するには OnBegin イベントハンドラに 以 下 を 追 加 しま す function OnBegin( ) begin // change the interior-dialog banner DialogSetInfo(DLG_INFO_ALTIMAGE, SUPPORTDIR ^ "alt.bmp", TRUE); end; プロジェクトのコンパイルおよびビルド 後 内 部 ダイアログにカスタムバナーイメージが 表 示 されます ( 以 下 に 表 示 されたイメージは 55 55 画 素 のビットマップです ) 5/8
6/8
外 部 ダイアログ OnBeginイベントハンドラで DialogSetInfo を 呼 ぶ 場 合 代 替 の 画 像 は 外 部 ダイアログにも 挿 入 表 示 されます 差 し 込 みを 削 除 したい 場 合 は ダイアログビューの 外 部 ダイアログボックスより ControlId_1200 というコントロー ルを 削 除 します インストーラで 表 示 されるそれぞれの 外 部 ダイアログボックス(SdWelcome, SdFinish, や SdFinishReboot のような) は ControlId_551 という Bitmap コントロールを 保 持 しています それは, 画 像 イメージを 指 定 する File Name プロパティを 持 っています デフォルトの File Name プロパティは 220 370 画 素 のビットマップイメージを 指 定 しています <ISProductFolder>\Script\Dialogs\BitmapId_103.bmp 画 像 を 変 更 するには それぞれのダイアログボックスのコントロールの File Name 値 を 変 更 します また InstallShield 配 布 における マスタ イメージを 変 更 できます しかし ダイアログビューでそれぞれの 外 部 ダイアロ グボックスを 右 クリックして 編 集 することは 必 要 となります サイドバーイメージの 変 更 後 プロジェクトをビルドすると 外 部 ダイアログはカスタムイメージを 表 示 します 7/8
上 で 説 明 したように InstallScript プロジェクトのダイアログイメージの 変 更 が 初 期 化 ダイアログを 変 更 するわけで はないことに 注 意 してください これは スクリプトが 動 作 する 前 に 表 示 されます 代 わりに [リリース] ビューで [ 小 さい 初 期 化 ダイアログ] プロパティを [はい] に 設 定 することができます [ 小 さい 初 期 化 ダイアログ] は 標 準 の 画 像 を 表 示 しません 8/8