« SQLite3 Ver.3.6.4 | トップページ | SQLite3 »

NSIS

NSISとは、Nullsoft Scriptable Install Systemでつまりインストーラを作るためのソフトである。Nullsoftといえば、WINAMPで有名だが、このNSISを使ったインストーラーも結構使われてたりする。

http://nsis.sourceforge.net/Main_Page

今までは、InstallStudioというソフトでインストーラを作成していたのだが、これを販売しているグレープシティが販売を終了。Vista対応もされていない。どうしようかと、思っていたんだが、Vistaでも動かないことはないので、そのまま使っていた。

しかし、VistaのUAC(Userアカウント制御)のせいで、たまに「インストールが完了していないかもしれません」なんてメッセージが出てくることがある。実際には、完了してるんだが、不安を覚える人もいるだろう。

ってなわけで、Vista対応のインストーラを作ることに。

InstallShieldが王道なのかもしれないけど、ここは敢えてフリーなNSISで作ることにしたわけである。InstallShieldもあるんだが、多言語対応となると言語を追加するためにまた金がかかってしまう。本体だけでも結構な価格なのに。

NSISはプラグインも結構あるし、サンプルスクリプトも多数あって、まあ、まずできないことはない。また、Eclipseで作成するためのプラグインもあって、開発環境としては問題ない。

ただ如何せん、日本語の情報が少ない。まあ、マニュアルは平易な英語なので読めないことはないのだけど、ぱっと見た目すぐに意味が頭に入ってこない。ここが表意文字と表音文字の違いを大きく感じてしまうところ。

でも、1から作る必要なくて、ウィザードでいろいろと指定するとひな形は作成してくれる。それに、アプリケーションにあわせていろいろと追加していけばいいわけである。追加で独自のページを挿入することもそんなに難しくはない。画面は、EclipseでもGUIで簡単に作れてしまう。(ちょっとスクリプトは書く必要があるが)

ホームページやら付属のドキュメントとにらめっこで、3日ほどで今あるインストーラとほぼ同等のものができあがった。実は、今あるインストーラは少し特殊なことをしている。通常のインストーラだと、インストールするファイルをすべてぶち込んで1つのEXEファイルを作るのが一番多いと思うが、現状のインストーラ(InstallStudioで作ったもの)は、INI形式のファイルとCompressとかZIPで圧縮した任意の複数のファイルをインストーラのEXEファイルとは別に準備しておいて、インストールEXEから抽出するものに加えて別にインストールできるようにしてある。

これは、たとえば不具合が出荷したソフトにあって差し替えが必要な場合、たった数KBのファイルの入れ替えのために、インストーラの何MBもあるファイルを作り直して、その都度メールで送るわけにもいかないので、入れ替えが簡単にできるようにするためにそうしているわけである。まあ、出荷前に完璧にチェックをして出荷すればこういうことを考えなくてもいいんだが、そういうわけにもいかないわけで・・・。また、テキストファイルもいくつかあって、その中の文字に誤字があったとか、設定が間違えていたとか、ほんのちょっとのことで巨大なファイルを送るわけにもいかないのである。(送り先はほとんど海外というのもある)

また、後からファイルが追加になっても、インストールEXEはそのままで、INI形式のファイルに追加ファイルの情報を追記して、インストールするファイルを圧縮して追加するだけである。これだと、インストールEXEを作り直す必要がない。それと、アプリのEXEは変わらないんだけど、出荷先に応じて設定ファイルをいろいろといじる必要がある。そのためにインストーラを作り直すのはコストと時間がかかりすぎるわけで、まあ、苦肉の策である。

こういうことも含めて、プラグインをいくつか使ってサンプルスクリプトを見ながらなんとか3日で作ることができた。スクリプトの仕組みを理解するのに一番時間がかかったかな。

後は、いろいろ調べたことを、忘れないように備忘録を書いておくことかな。これが一番時間がかかるかも。

|

« SQLite3 Ver.3.6.4 | トップページ | SQLite3 »

パソコン・インターネット」カテゴリの記事