べるべる研究日誌

なんでもやる系エンジニアの日々

インストーラーを作る

f:id:bellx2:20140128190221j:plain

 今日は業務でWindowsインストーラーの作成。こういう作業をサクっとできる人がいなくて、結局おいらのところにやってきます。既存ソフトとの関係やOS毎の条件、旧ソフトの削除等、考慮しないといけない条件をいろいろ考えながら検証環境を使って作らないといけないので結構時間がかかります。

 ツールはいつもInnoSetupをインストールしたマシンでGUIツールとしてInnoEditXを使ってインストーラーを作っています。

 InnoSetupはすこし(かなり?)とっつきにくいですが独立実行形式の.exeファイルが作成できてDLL等もいらず環境に非依存。ショートカット作成とかOS判定や64bit判定等もきちんと入れ込めるし、細かい部分もプログラムで制御できます。一番の利点はインストールスクリプトファイル.issを作成してそれをコンパイルする方式のため、バージョン管理(というか変更管理)がしやすいいという点でしょうか。

 最大の欠点は記述がPascalってところですね。大学の頃やっただけなんですが見よう見まねで書けるようにはなりました。begin...end begin...end。

 コマンドをいちいち検索するも大変なのと設定項目が非常に多いのでInnoEditXというGUIツールを使っています。これがまた簡単にコンパイルしたりフラグをON/OFFできたりするので非常に便利です。ただ、作者のホームページも閉鎖されちゃてるので、バージョンアップが無い事。今のところは特に困るところは無いのですが、不具合が出るようだったら同じような物を作るかもしれません。

 このソフトが作られたのは2005年。この頃のソフトがまだ現役なのもすごいんですがこのツールが十分使えるという事は、InnoSetupの完成度の高さにもの驚くべきものがあります。こういう息の長いソフトを作りたいものです。

 ということで、これらの作者様に感謝しながらインストーラー作りをしています。

追記

Qiitaにメモしました。

.NET Frameworkのバージョン判定とInnosetup - Qiita [キータ]