WiX を使用して Windows インストーラー「MSI」を作成する part1

ページ作成日 :

環境

Visual Studio
  • Visual Studio Community 2017
  • Visual Studio Community 2019
WiX Toolset
3.11.2

※他のバージョンでも動作しますが未確認です

はじめに

前回は WiX をセットアップしましたので実際にインストーラーを作成してみたいと思います。

作成するインストーラーのイメージ

今回の手順で作成すると以下のようなインストーラーが出来上がります。

image

image

image

image

image

事前準備

  • 公開する Windows 向けアプリケーションが作成済みであること。
  • WiX がセットアップ済みであること。

配布するプログラム (exe) の準備

プログラムを作成しビルド、テストが完了したアプリケーション (exe) を準備します。 今回「リトルセイバー」というゲームの体験版を配布する際に WiX を使用したのでその手順を掲載しています。 一部ゲーム向けのグラフィックなどが表示されていますのでご了承ください。

以下は今回インストールするファイルの一覧です。「exe」と「ico」以外はゲーム用のファイルなので、「exe」単体で動作するのであれば「exe」だけで問題ありません。「ico」はスタートメニューなどに表示させるアイコン画像なので用意しておいた方がいいです。

image

ちなみにプログラムは 32bit 版と 64bit 版がありますが、今回は 32bit のインストーラーを作成します。

WiX セットアッププロジェクトの作成

Visual Studio を起動し、新しいプロジェクトを作成します。「Setup Project for WiX v3」があるのでそれを選択します。

image

プロジェクト名は分かりやすいものを入れておきます。場所についてはどこでもいいですが、支障が無ければ英数字のパスがいいでしょう。

image

プロジェクトが作成されました。最初に開かれる「Product.wxs」に必要な設定を記述していくことになりますが、まずは他の準備を先に行います。

image

UIライブラリの参照

どのようなインストーラーを作成するかにもよりますが、今回は簡単なウィザード形式のインストーラーに少し変更を加えたいので UI のライブラリを追加します。プロジェクトの「References」を右クリックして「参照の追加」を選択します。

image

フォルダ「C:\Program Files (x86)\WiX Toolset v3.11\bin\」を開き「WixUIExtension」を追加して「OK」ボタンをクリックします。(フォルダのパスは開発環境や WiX のバージョンによって変わる場合があります)

image

追加されました。

image

プロジェクトの基本設定

プロジェクトを右クリックして「プロパティ」を選択します。

image

「Installer」タブから「Output name」で生成するインストーラーのファイル名を指定できます。 インストーラーを生成した後でもファイル名は変更できるので必要に応じて変えてください。

image

「Build」タブを選択します。Debug 構成のままリリースすることはないと思いますので「構成」を「Release」に変更します。

「Cultures to build」に「ja-JP」を入力します。未入力にしたり複数の言語を指定できるらしいのですが、日本語 OS の環境だと ja-JP 以外の言語でビルドするとエラーになってしまいます。 他の言語でビルドしたい場合は英語版の OS を用意するか言語パッケージを追加する必要があるかもしれません。(動作未確認)

image

ウィザードに表示する素材を用意

今回インストーラーのウィザードを表示するにあたって素材を3つ用意します。

banner.bmp

インストール中画面の上部のバナーに表示されます。

image

banner.bmp のサイズは「493 x 58」pixel です。 通常は右側 200px 以内に画像を収め、残りの背景を白にするのが好ましいですが、左側にも画像を入れられます。その場合はテキストと重なりますので見にくくならないようにしてください。

dialog.bmp

インストール開始時と終了時の背景画像に使用されます。

image

dialog.bmp のサイズは「493 x 312」pixel です。左側に画像を収めたい場合は「164 x 312」pixel の範囲で画像に収め、残りを白背景にして下さい。右側に画像を入れた場合はテキストと重なりますので見にくくならないようにしてください。

license.rtf

インストール画面で使用許諾契約を表示させる際に使用します。 このファイルで作成した内容がそのままインストール画面に表示されます。文章はもちろん、レイアウトや文字装飾なども反映されます。

表示させる文章に決まりはありませんので、配布するアプリケーションに合わせて内容を作成してください。

image

「.rtf」ファイルは Windows に標準インストールされている「ワードパッド」で編集することができます。Word でも編集はできますが、うまく表示されなかった記憶があるため、ワードパッドで編集した方が無難です。

image

この3つのファイルをプロジェクトに追加します。

image

インストールするファイルの配置

プロジェクトフォルダの中にフォルダを作成します。フォルダ名はなんでも構いませんが、インストール時に Program Files に作成するフォルダ名と同じにすると、のちの作業がちょっと楽になります。 また、このフォルダ名は設定ファイルでファイルを参照する際の相対パスにも使われます。

プロジェクトフォルダ内にフォルダを配置していますが、Visual Studio のプロジェクトに追加する必要はありません。

image

インストールさせるファイルを一式入れます。

image

まとめ

ここまででインストーラーの各種設定を行う前の段階の準備が終わりました。 次回はインストーラーの設定と実際にインストーラーが実行できるまでの手順を説明していきます。