WiX を使用して Windows インストーラー「MSI」を作成する part1
環境
- Visual Studio
-
- Visual Studio Community 2017
- Visual Studio Community 2019
- WiX Toolset
- 3.11.2
※他のバージョンでも動作しますが未確認です
はじめに
前回は WiX をセットアップしましたので実際にインストーラーを作成してみたいと思います。
作成するインストーラーのイメージ
今回の手順で作成すると以下のようなインストーラーが出来上がります。
事前準備
- 公開する Windows 向けアプリケーションが作成済みであること。
- WiX がセットアップ済みであること。
配布するプログラム (exe) の準備
プログラムを作成しビルド、テストが完了したアプリケーション (exe) を準備します。 今回「リトルセイバー」というゲームの体験版を配布する際に WiX を使用したのでその手順を掲載しています。 一部ゲーム向けのグラフィックなどが表示されていますのでご了承ください。
以下は今回インストールするファイルの一覧です。「exe」と「ico」以外はゲーム用のファイルなので、「exe」単体で動作するのであれば「exe」だけで問題ありません。「ico」はスタートメニューなどに表示させるアイコン画像なので用意しておいた方がいいです。
ちなみにプログラムは 32bit 版と 64bit 版がありますが、今回は 32bit のインストーラーを作成します。
WiX セットアッププロジェクトの作成
Visual Studio を起動し、新しいプロジェクトを作成します。「Setup Project for WiX v3」があるのでそれを選択します。
プロジェクト名は分かりやすいものを入れておきます。場所についてはどこでもいいですが、支障が無ければ英数字のパスがいいでしょう。
プロジェクトが作成されました。最初に開かれる「Product.wxs」に必要な設定を記述していくことになりますが、まずは他の準備を先に行います。
UIライブラリの参照
どのようなインストーラーを作成するかにもよりますが、今回は簡単なウィザード形式のインストーラーに少し変更を加えたいので UI のライブラリを追加します。プロジェクトの「References」を右クリックして「参照の追加」を選択します。
フォルダ「C:\Program Files (x86)\WiX Toolset v3.11\bin\」を開き「WixUIExtension」を追加して「OK」ボタンをクリックします。(フォルダのパスは開発環境や WiX のバージョンによって変わる場合があります)
追加されました。
プロジェクトの基本設定
プロジェクトを右クリックして「プロパティ」を選択します。
「Installer」タブから「Output name」で生成するインストーラーのファイル名を指定できます。 インストーラーを生成した後でもファイル名は変更できるので必要に応じて変えてください。
「Build」タブを選択します。Debug 構成のままリリースすることはないと思いますので「構成」を「Release」に変更します。
「Cultures to build」に「ja-JP」を入力します。未入力にしたり複数の言語を指定できるらしいのですが、日本語 OS の環境だと ja-JP 以外の言語でビルドするとエラーになってしまいます。 他の言語でビルドしたい場合は英語版の OS を用意するか言語パッケージを追加する必要があるかもしれません。(動作未確認)
ウィザードに表示する素材を用意
今回インストーラーのウィザードを表示するにあたって素材を3つ用意します。
banner.bmp
インストール中画面の上部のバナーに表示されます。
banner.bmp のサイズは「493 x 58」pixel です。 通常は右側 200px 以内に画像を収め、残りの背景を白にするのが好ましいですが、左側にも画像を入れられます。その場合はテキストと重なりますので見にくくならないようにしてください。
dialog.bmp
インストール開始時と終了時の背景画像に使用されます。
dialog.bmp のサイズは「493 x 312」pixel です。左側に画像を収めたい場合は「164 x 312」pixel の範囲で画像に収め、残りを白背景にして下さい。右側に画像を入れた場合はテキストと重なりますので見にくくならないようにしてください。
license.rtf
インストール画面で使用許諾契約を表示させる際に使用します。 このファイルで作成した内容がそのままインストール画面に表示されます。文章はもちろん、レイアウトや文字装飾なども反映されます。
表示させる文章に決まりはありませんので、配布するアプリケーションに合わせて内容を作成してください。
「.rtf」ファイルは Windows に標準インストールされている「ワードパッド」で編集することができます。Word でも編集はできますが、うまく表示されなかった記憶があるため、ワードパッドで編集した方が無難です。
この3つのファイルをプロジェクトに追加します。
インストールするファイルの配置
プロジェクトフォルダの中にフォルダを作成します。フォルダ名はなんでも構いませんが、インストール時に Program Files に作成するフォルダ名と同じにすると、のちの作業がちょっと楽になります。 また、このフォルダ名は設定ファイルでファイルを参照する際の相対パスにも使われます。
プロジェクトフォルダ内にフォルダを配置していますが、Visual Studio のプロジェクトに追加する必要はありません。
インストールさせるファイルを一式入れます。
まとめ
ここまででインストーラーの各種設定を行う前の段階の準備が終わりました。 次回はインストーラーの設定と実際にインストーラーが実行できるまでの手順を説明していきます。