unity を Windows ビルドした場合、次のようなフォルダが出来上がります(作成は unity2019)。
BackUpThisFolder うんぬんはさすがに消す、UnityCrashhandler64.exe もお好みで消すとして、それ以外のファイルを(配布用に)どうまとめるか。
zip ファイルにして配布するのもいいんですが、一般の人が手を出しにくい配布の仕方です。
やはりインストーラー形式にしたいですよね。
ここでは InnoSetup を使うことでお手軽にインストーラーを作る方法を紹介します。
インストール
こちらよりダウンロードします。Random Site US を選択します。
基本的に全て「次へ」で OK です。気になる点のみ紹介します。
Inno Setup は暗号化に対応しています。ただし、一部の国では暗号化の輸出入に関する法律があるため、暗号化のサポートはメインの Inno Setup インストーラに含まれていません。その代わり、現在オランダにあるサーバーからダウンロードすることができます。
暗号化されたインストーラを作成したい場合は ✔ してもいいと思いますが、暗号化自体がウィルスチェッカーにひっかかりそうな気も。どうなんでしょう。
まあ、そもそも未知の(怪しい)exe としてバスターやらマカフィーにサンドボックス送りにされそうな気はします。
iss は関連付けておくと楽です。デスクトップのアイコンは不要だと思います。
ウィザードで作成する
インストールが終わると自動的に Inno Setup が起動し、ダイアログが表示されます。
以下の unity ビルドフォルダを例として、変更が必要なウィンドウのみ解説します。
Create a new script file using the Script Wizard を選択し、OK。File > New
でもウィザードが起動します。
Application name
アプリケーション名
Application version
任意。完成していれば 1.0.0、まだ未完成であれば適当に。
Application publisher
開発会社名。個人であれば、開発者名。
Application website
アプリケーションのランディングページ(URL)。ダウンロードできるサイトの URL とかでいいと思います。
基本このままでOKですが、例えば C:\mipass をインストール先にしたい場合は Custom を選択します。
ユーザーにフォルダを選ばせたくない場合は Allow User~ の✔を外す。
この画面、ちょっと疑問なんですが、Other application files は含めたいファイルの親フォルダを選択します。D:\mipass\Build\mipass_Data ではなく、D:\mipass\Build\* としている事に注意してください。
D:\mipass\Build\mipass_Data にした場合、mipass_Data フォルダの中身が全て mipass.exe と同じフォルダに出てきてしまい、インストール後実行できなくなってしまいます。
拡張子の関連づけです。よくある拡張子に関連づけするとユーザーを混乱させてしまうので、なるべくユニークな拡張子にしましょう。
関連付けが不要な(関連したファイルがダブルクリックで開かれない)場合、Associate a file type~ の✔を外します。
ライセンス確認、インストール前情報、インストール後情報を表示するためのテキストファイルが指定できます。
テキストファイルはエンコーディングが Shift-JIS でないと文字化けしてしまいます。
最近であれば大抵は UTF-8 になっているので、そのままだとこのように文字化けします。
私は VS Code のエンコーディング付き保存で対応しました。
インストーラーに言語選択を含める場合、✔してください。
日本人向けの場合 Japanese は必須かも。
(英語のみのインストーラーは多くの人がインストールを断念してしまうので)
出力されるインストーラの名前を設定。
後は全てデフォルトのまま「Next」で「Finish」まで。
以後は設定ファイルをダブルクリックで Inno Setup が起動します。
問題なければこのように作成成功。設定ファイル(iss)を保存したフォルダに Output/mipassSetUp.exe というインストーラが作成されます。
再びインストーラーを作りたい場合、以下のボタンを押すか Build > Compile
を実行します。
細かいカスタマイズをしたくなったら…
本家にマニュアルがあるようです。(英語ですが)
デフォルトインストール先 C:\Program Files (x86)\Inno Setup 6\Examples にサンプルの iss ファイルがあるので、併せて確認するのもいいでしょう。