1.概要
アプリケーションが完成したら配布方法を考える必要があります。
実行ファイル単体で動作するようなものならば
そのまま圧縮して配布しても問題ないかもしれませんが
必要なファイルを指定のフォルダへ配置したい等
規模が大きくなるにつれてアプリケーションの動作環境が複雑になっていきます。
そんな時に、アプリケーションのインストーラーが
環境構築までやってくれたら非常に楽です。
これを実現するために、今回は【InnoSetup】を使ってみたいと思います。
2.【InnoSetup】とは
オープンソースで開発されているインストーラー作成ソフトです。
商用/非商用に関わらず無料で利用できます。
3.設定方法
とりあえずウィザードに従い設定をしてみようかと思います。
【InnoSetup】を起動すると【Welcome】ウィンドウが表示されるので
ここで【Create a new script file using the Script Wizard】
を選択し【OK】をクリックします。
【Inno Setup Script Wizard】が表示されるので【Next>】をクリックします。
ここから設定が開始されますので、順番に設定していきます。
Application Information
ここではアプリケーションの基本情報について設定します。
Application name
アプリケーションの名前を設定します。
Application version
アプリケーションのバージョンを設定します。
Application publisher
アプリケーションの発行者を設定します。
Application website
アプリケーションのホームページがある場合、設定を行います。
Application Folder
ここではアプリケーションの保存先となるベースフォルダを設定します。
Application destination base folder
デフォルトでは【Program Files folder】となっています。
実際には【C:\Program Files (x86)】がベースフォルダになります。
【(Custom)】に設定すると、下のテキストボックスに記入したパスがベースフォルダになります。
Application folder name
【Program Files folder】で設定したフォルダ配下に作成する
フォルダの名称を設定します。
このフォルダの下に実行ファイルが配置されます。
Allow user to change the application folder
チェックすると作成したインストーラー上で
本項目で設定した内容が変更可能になります。
The application dosn't need a folder
???
Application Files
ここではインストール時に必要なファイルを設定します。
Application main executable file
実行ファイル(アプリケーション本体)を設定します。
Allow user to start the application after Setup has finished
セットアップが完了した時にアプリケーションの起動を許可するか設定します。
The application doesn't have a main executable file
???
Other application files
実行ファイルのほかに必要なファイルがあれば、ここで設定します。
Application Shortcuts
ここではどこに実行ファイルのショートカットを作成するか設定します。
Create a shortcut to the main executable in the common Start Menu Programs folder
スタートメニューのプログラムフォルダにショートカットを作成します。
Allow user to create a desktop shortcut
ユーザーにデスクトップへのショートカットの作成を許可します。
Allow user to create a Quick Lanch shortcut on older version of Windows
???
Application Documentation
ここではインストール中に表示するドキュメントファイルを指定します。
Licence file
ライセンス情報が記載されたファイルを指定します。
Information file shown before installation
インストール前に表示したい情報が記載されたファイルを指定します。
Information file shown after installation
インストール後に表示したい情報が記載されたファイルを指定します。
Setup Languages
ここではインストーラーの言語を設定します。
【English】がデフォルトでチェックが入っています。
Compiler Setting
ここでは作成したインストーラーの出力先などを設定します。
Custom compiler output folder
作成したインストーラーの出力フォルダを設定します。
Compiler output base file name
作成したインストーラーの名前を設定します。
Custom Setup icon file
作成したインストーラーのアイコンを設定します。
Setup password
インストーラーのパスワードを設定します。
Inno Setup Preprocessor
Yes, use #define compiler directives
チェックすると【#define】でアプリケーション名などをissファイルに記述してくれます。
issファイルとは【InnoSetup】の設定ファイルです。
ここまでで設定は完了です
【finish】をクリックすると下図のように表示されます。
この設定でコンパイルを開始するかどうかを問われていますので
【いいえ(N)】をクリックします。
4.issファイルの中身
ウィザードが完了すると設定した内容が
下記のとおりのスクリプトとして出力されます。
取り合えず空白はなしで、何かしら値を入れてみました。
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "My Program" #define MyAppVersion "1.5" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.example.com/" #define MyAppExeName "MyProg.exe" [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{FDCDCE09-8F92-4F62-8158-8DA03C0614A2} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DisableProgramGroupPage=yes LicenseFile=C:\test\ライセンス.txt InfoBeforeFile=C:\test\before.txt InfoAfterFile=C:\test\after.txt OutputDir=C:\test\output OutputBaseFilename=setup SetupIconFile=C:\test\Microsoft_icon-icons.com_56595.ico Password=test Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\test\追加ファイル.txt"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\test\追加フォルダ\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
5.ビルド
設定が完了したのでインストーラーを作成します。
作成方法はGUIから行います。
windowメニューの
【Build】→【Compile】
をクリックすると、ビルドが開始されます。
出力先は【Compiler Setting】で設定した内容になります。
ここでは
OutputDir=C:\test\output
OutputBaseFilename=setup
SetupIconFile=C:\test\Microsoft_icon-icons.com_56595.ico
と設定してあるので
【C:\test\output\setup.exe】
が出力され、実行ファイルのアイコンも下図のとおり設定されています。
6.インストール
インストーラーが出来たので早速インストールしてみます。
【setup.exe】を実行するとインストールが開始します。
言語の選択
言語選択画面が表示されます。
これは【Setup Languages】でチェックした言語になります。
[Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
利用する言語を選択し、【OK】をクリックします。
使用許諾契約書の同意
次にライセンスについての内容が表示されます。
これは【Application Documentation】で設定したファイルになります。
LicenseFile=C:\test\ライセンス.txt
同意するを選択し、【次へ(N)】をクリックします。
パスワード
次にパスワード入力画面が表示されます。
これは【Compiler Setting】で設定した内容になります。
Password=test
パスワードを入力し、【次へ(N)】をクリックします。
インストール前の情報
次にインストールする前の情報が表示されます。
これは【Application Documentation】で設定したファイルになります。
InfoBeforeFile=C:\test\before.txt
内容を確認し、【次へ(N)】をクリックします。
インストール先の指定
次にアプリケーションのインストール先を指定する画面が表示されます。
これは【Application Folder】で設定した内容になります。
[Files] Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\test\追加ファイル.txt"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\test\追加フォルダ\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
内容を確認し、【次へ(N)】をクリックします。
追加タスクの選択
次にインストール時に実行するタスク画面が表示されます。
これは【Application Shortcuts】で設定した内容になります。
[Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
内容を確認し、【次へ(N)】をクリックします。
インストール準備完了
これで準備が完了になります。
特にやることもないので【インストール(I)】をクリックします。
インストール後の情報
インストールが完了すると、インストールした後の情報が表示されます。
これは【Application Documentation】で設定したファイルになります。
InfoAfterFile=C:\test\after.txt
内容を確認し、【次へ(N)】をクリックします。
インストール完了
これでインストールが完了しました。
7.インストール結果の確認
実際に配置されているかエクスプローラーから確認してみます。
問題なくインストール出来ていることが確認出来ました。
8.まとめ
今回はウィザードをとおして【InnoSetup】を使って
インストーラーを作成してみました。
ここでやったことは機能のごく一部で
【issファイル】に直接スクリプトを記述することで
もっと高度な使い方が実現できます。
その情報については、また次回まとめてみたいと思います。