【InnoSetupの使い方】インストーラー作成方法の紹介
- 🌞作成日:2020年9月24日
- 📌更新日:2022年1月14日
アプリケーションを開発したらインストーラーが欲しくなりますよね。
でも、Visual Studioで使えるインストーラ作成プロジェクトでは、思うように作れないこともあると思います。
この記事では、Inno Setupを使用して簡単にインストーラを作成する方法を紹介します。
この記事に書かれていること
フリーで利用できるインストーラー作成アプリ「Inno Setup」を用いたインストーラー作成手順を紹介しています。
画面キャプチャで1ステップずつ丁寧に書きました。
この記事を読んでほしい人
- 自作したWindowsアプリを配布するインストーラーを作成したい人
- 業務アプリを部門利用者に配布したい情報システム部門担当者
- 無料で使えるWindowsインストーラーを探している人
- Visual Studio インストーラー作成プロジェクトでつまづいた人
この記事を書いた人
私は12年間システムエンジニアとして働いています。日立系のSIerでCOBOLを使用したメインフレームのバッチシステム開発に従事していました。
その後は製造業の社内SEとして、海外工場含めたシステム開発を行っています。
仕事でWindowsアプリを開発しているだけでなく、個人でExec NoteというWindowsアプリも開発しました。
この記事は、Exec Noteのインストーラーを作成したときの手順をブログにしたものです。
Inno Setup とは
Inno Setup は フリーで使えるWindows用のインストーラー作成ツールです。
日本語のインストーラーを作成できます。
1997年に初版がリリースされています。
サービスパック等は不要で、以下を含む全てのWindows OSをサポートしているようです。
- Windows 11 ←🆕
- Windows 10
- Windows 10 on ARM
- Windows Server 2019
- Windows Server 2016
- Windows 8.1
- Windows 8
- Windows Server 2012
- Windows 7
- Windows Server 2008 R2
- Windows Server 2008
- Windows Vista.
公式ページは以下にあります。
Inno Setup のダウンロードとインストール
Inno Setup は以下からダウンロードきます。
特別な要件がなければ、「Stable Release」からダウンロード・インストールしましょう。
以下のような画面が起動できたら成功です。
インストーラにのせるプログラム一式を準備する
インストーラーでインストールしたいプログラム一式を準備しましょう。
この記事では、ExecNoteのインストーラを作成してみます。
ExecNoteは、コードを直接実行できるMarkdownエディタです。
このYouTube動画をご覧いただくと、概要を理解して頂けるかと思います。
ExecNoteは、このようにexeファイルとHTML/CSS/JS, LiteDBファイルなどから構成されています。
ExecNote.exe ファイルが、起動ファイルになります。
Inno Setup ウィザードを使用したインストーラー作成方法
Inno Setupを開き、「File」から「New」をクリックしましょう。
ウィザードが表示されますので、「Next」をクリックします。
「Application Information」の入力
以下を入力していきましょう
- Appication Name
- Application version
- Application publisher
- Application website
インストール先フォルダの指定
アプリケーションのインストール先フォルダを指定します。
Program Files でよければ、以下の画面のようになります。
そのほかのフォルダにインストールする場合は、「Application destination base folder」から「Custom」を選択し、フォルダパスを入力します。
- Allow user to change the application folder
- セットアップ時にユーザーがインストール先フォルダを自由に変更できるようにします。
- The application doesn't need a folder
- フォルダにインストールしないときにチェックを入れます
インストールするモジュールの登録
Exeファイル名やインストールファイル一式を指定しましょう。
「Application main executable file」にメインのexeファイルパスを入力します。
そのほかのインストール資材、ExecNoteの場合はHTML/CSS/JSファイルやLiteDBファイルなど、これらは「Other application files」に指定します。
アプリを起動するショートカットの作成方法の指定
ショートカットの作成方法を指定します。
- Create a shortcut to the main executable in the common Startup Menu Program folder
- メインのEXEファイルのショートカットを、スタートメニューのプログラムフォルダに作成します。
- Allow user to change the Star Menu folder name
- ユーザーにスタートメニューフォルダの変更を許可します
- Allow user to disable Start Menu folder creation
- ユーザーにスタートメニューフォルダを作成しないことを許可します
- Create an Internet shortcut in the Start Menu folder
- インターネットURLのショートカットを作成します
- Create an Uninstall shortcut in the Start Menu folder
- アンインストーラーのショートカットを作成します
- Allow user to create a desktop shortcut
- デスクトップにショートカットを作成するかどうかユーザーに選択させます
- Allow user to create a Quick Launch shortcut on older versions of Windows
- クイック起動にショートカットを作成するかどうかユーザーに選択させます
ライセンスなどインストール時に表示するドキュメントの指定
インストール時に表示するドキュメントを選択します。
選択可能なドキュメントは以下の3種類です。
- License file
- ライセンス情報を記述したドキュメント
- Information file shown before installation
- インストール前に表示するドキュメント
- Information file shown after installation
- インストール後に表示するドキュメント
管理者権限などインストールモードの指定
インストールモードを選択します。
- Administrative install mode (install for all users)
- すべてのユーザーにインストール可能なモード(管理者権限インストール)
- Non administrative install mode (install for current user only)
- 現在のユーザーのみインストール可能なモード(非管理者権限インストール)
- Allow user to override the install mode via the command line
- コマンドラインを使用してインストールモードを変更可能にします
- Ask the user to choose the install mode at setup
- セットアップ画面に、インストールモードを表示します
インストーラーの表示言語の指定
インストーラの言語を選択します。
インストーラー出力情報の指定
インストーラの出力先情報を入力します。
- Custom compiler output folder
- インストーラの出力先フォルダ
- Compiler output bse file name
- インストーラのファイル名
- Custom Setup Icon file
- インストーラのアイコンファイル名
- Setup Password
- セットアップパスワード
Inno Setupスクリプトファイルで「#define」コンパイラディレクティブを使用するかどうか、選択します。
セットアップは以上で終了です。「Finish」をクリックします。
今すぐコンパイルしますか?と聞かれますので、「はい」をクリックします。
コンパイルする前にスクリプトを保存しますか?いいえを選択すると、デフォルトでマイドキュメントに保存されるようです。
コンパイルが実行され、インストーラファイルを作成します。
動作確認
めでたくインストーラが作成されたら、動作確認してみましょう。
日本語を選択すると、日本語のセットアップウィザードが表示されます。
おつかれさまでした!ウィザード長かった!!(;´∀`)
最後に
誰かが作ったプログラムを解析してメンテナンスするのはとても大変だと思います。
私も現在進行系でとても苦労しています。
設計ドキュメントを残すより、読みやすいコードを書くことのほうがとても合理的で効果があります。
コメント