前記事では、Visual Studio Setup Project で基本的なインストーラ作成手順をまとめました。 本記事ではオプション的な設定方法を記述していきます。
バーナーの追加
吊るしの状態では殺風景ですし、サプライヤとしてアピール不足です。以下のようにインストーラ画面にバーナーを追加が可能です。
(1) 左図アイコンを開きます。
(2) 各インストーラ画面のプロ パティから左図のようせ選択 します。
(3) 画像を追加します。インストーラー実行時に展 開されていたような覚えがありますので、Application Folder を選択しておいた方がよいでし ょう。.png や .gif など透過性は使えないようです。 全インストーラ画面でこの設定を行います。 画像は 約720 x 120 pixel で作成します。
レジストリエントリ
Windows Installer ではインストール後、Windowsレジストリにエントリが作成されます。以下のように必要に応じてカスタマイズ、追加が可能です。
(1) 左のアイコンを選択します。
(2) デフォルトで、サプライヤ名のエントリが作成されます。これはプロジェクトのプロパティのManufacturer の設定値です。AlwaysCreate は基本 ture に変えます。
(3) 一般的にサプライヤ名の下に プロダクト名のキーを作りま す。InstallShield などは自動作成 します。こちらは手動作成が必 要です。[ProductName] は Windows Installerの予約変数で、 プロジェクトのプロパティの ProductName の設定値です。
(4) インストールされたディレクトリをレジストリに追加しておくとアプリ側で色々と活用できます。その場合は以下のように操作します。[TARGETDIR] は Windows Installer の予約変数でユーザが指定したインストール先を示します。
(5) インストールされたバージョンもレジストリに追加しておくとアプリ側で色々と活用できます。その場合は以下のように操作します。[ProductVersion] は は Windows Installer の予約変数でプロジェクトのプロパティの ProductVersion の設定値です。将来のUpdate時に、過去にインストールされたバージョンが分かるとデータの移行判定などに活用できます。
(6) インストール後のレジストリ内容は以下のようになります。これでInstallShield と同等のレジストリエントリとなります。
バージョン表示
ユーザが誤ったバージョンのインストールを防止したり、トラブルシューティング用にインストーラバージョンはどこかに表示しておきたいものです。以下のようにインストーラ画面の文言の変更が可能です。
(1) 左図アイコンを開きます。
(2) [ようこそ ] 画面の WelcomText を変更します。”Adminstrative install “の方も直しておきます。
(3) 変更値のサンプルは以下のとおりです。[ProductVersion] は は Windows Installer の予約変数でプロジェクトのプロパティの ProductVersion の設定値です。プロジェクトのプロパティ Localization が Japanease でもデフォルト値は英語ですが、変更する場合は日本語を指定しないといけません。
この度は本製品をお買い上げいただきありがとうこざいます。 [ProductName] ver.[ProductVersion ]のインストールを継続するには、”次へ(N)>”をクリックします。
ライセンス文の追加
(1) User Interface のタブから以下のように追加します。
(2) ライセンス文を .rtf 形式で指定します。
カスタムアクション呼出し
Custom Action のタブに追加します。インストールとパラレルでVBScript呼出すことは可能でした。しかしVC++ 2005ランタイムがインストールされているかチェックしたかったのですが、VBScript では厳しいようです。InstallShield のカスタムアクションDLLや専用スクリプトには及ばないようです。
.exeのアクションも試したようでしたが結果は忘れてしまいました。あまり有効ではなかったのでしょう。。。
英語インストーラ
日本語版と英語版の2つをリリースすることはよくあることかと思います。日本語版から英語版を作る手順は以下のとおりです。InstallShield などは、一つのインストーラ定義から多国語のインストーラを生成できますが、こちらはそこまで対応してないようです。
(1) Visual Studio Setup Project のソリューションに、英語のSetup Projectを追加します。
(2) 日本語Projectの各種設定を、英語Project に転記します。Projectファイルをコピーして直接エディタで修正するのでもよいかと。
(3) 英語Project のプロパティLocalization を English に変更します。
(4) 日本語版と英語版を同じプロダクトとして扱いたいなら、ProductCode 、UpgeadeCode はも合わせておいた方がいいでしょう。(未だ未トライです)
(5) 全体構成は以下のような感じです。
以上、Visual Studio Setup Project である程度実用的なインストーラは作れました。しかし 開発環境が用意できない、手がたりない、自身がない、担当者がいなくなったなどお困りの方は、こちらよりご相談ください。