NSISスクリプトのEmEditor用構文ファイル(.ESY)を作ってみた
NSIS(Nullsoft Scriptable Install System)スクリプトのEmEditor用構文ファイル(.ESY)を作ってみました。
Version 10で動作確認していますが、少し前のバージョンでも問題ないと思います。
ただし文字色・背景色の"透明"指定を利用しているためFree版やVersion 6以前だと意図した表示になりません。
→ https://radioc.web.fc2.com/
「NSISスクリプト(*.nsi,*.nsh形式) EmEditor用構文ファイル」よりzipファイルをダウンロード、解凍してください。
○設定方法
ツール→設定の選択→設定の定義→新規作成→既存の設定を使用→OK
設定名は適当に。
プロパティ→「強調(1)」タブで「ここで設定する文字列を強調表示する」にチェックを入れます。
インポートをクリックして構文ファイル(NSIS.ESY)を開きます。
「表示」タブでテーマをEmEditorスタンダードに設定します。
強調文字列(1)は背景カラーが目つぶしになる(笑)ので、ベージュ色に設定しておいてください。
(もちろんお好みの設定にカスタマイズしていただいても結構です)
あとは基本的な設定。
「基本」タブ→「行番号を表示」にチェックを入れます。
「ファイル」タブ→「既定の拡張子」をnsiに設定。
「関連付け」タブで拡張子にnsiとnshを追加します。
あえて引用符の文字列を正規表現で強調表示に設定したのは、引用符の中の環境変数を強調表示できるようにしたかったからです。
(強調(2)で設定すると引用符の中の文字列に対して強調表示の設定が効かない。)
ただ、内部での強調表示の設定順序がいまいちよくわからないので思い通りにいかないかも。
これだけだと記事の下の方が余るので(?)、インストーラのスクリーンショットを集めてみた。説明も入れてるけど上辺だけの知識しかないので信憑性なし(笑)
○Windows Installer
・スクリーンショット
・概要
Office 2000(1999年)のインストーラに使われたのが最初。最新版はWindows 7にインストール済みの5.0
Windows Installer自体はインストーラエンジンでもあり、VSセットアップやInstallShieldも標準設定ではWindows Installerエンジンを使用している。
インストーラエンジンをWindows Installerに統一することで、インストールされた製品のデータベースをWindows Installerが一括管理し、ロールバックや自動修復、バージョン管理を容易にしている。
上はバナー画像を除いて標準的な外観(スキン)であるが、その下の画像のようにカスタマイズした外観を使用することもできる。
ファイルの拡張子は.msi。テキストエディタで開いてわかるとおり、ファイルに記録されているのはデータベーステーブルであり、実行可能形式(EXEファイル)ではない。
・開発ツール
Windows SDK(無償)に含まれるツール群を使用する。この場合、orca.exe等を用いてデータベースを直接編集することになる。
ただ、これらのツールだけを使ってインストーラを作成するのは難しく、参考資料が少なく、今後の管理やバリエーションの作成のためにも勧めできない。
今のところWiXという、XMLを記述してインストーラを作成できるオープンソースフリーウェアがあり、これと併せて開発を進めることが多い。
Office 2007やSQL Server2008のインストーラはWiXを使って開発されたそうな(参考PDF文書→http://download.microsoft.com/download/B/6/8/B6811521-81F6-4F57-8009-6D9C60E5F744/Windows_Installer_XML_Toolset.pdf)
○VS(VisualStudio)セットアップ
・スクリーンショット
・概要
VisualStudioで作成できる簡易インストーラ。
インストーラエンジンとしてWindows Installerを利用しているが、こちらは外観(スキン)の変更はできない。機能も限定されており、規模の大きいアプリケーションや複数のコンポーネントからなるアプリケーションの頒布には向かない。
手軽にかつ簡単に作成できるのが特徴で、単一アプリケーションの頒布に向いている。
・開発ツール
VisualStudio (Express Editionでは機能が制限されている)
○NSIS(Nullsoft Scriptable Install System)
・スクリーンショット
・概要
スクリプトベースのインストーラ。Windows Installerを利用していない(非対応)ため、システムの復元が効かず、(たぶん)ロールバックもできない。
一度ある程度の構文を覚えてしまえば比較的簡単にインストーラを作成できる。当然スクリプトベースなので、カスタムスクリプトを使用することもできる。
Windows Installerのようにアプリケーションの高度な管理はできない。開発ツールがスクリプトベースであることや日本語の資料が少ないことが欠点。
1つ目の画像がNSIS標準のスキンで2つ目の画像はModern UIを適用したスキン。
・開発ツール
NSIS(無償)
○InstallShield
・スクリーンショット
・概要
インストーラの定番。最新バージョンは2010(15?)。
ちなみに最初のバージョンは1990年にWindows 3.0用が395ドル、OS/2用が595ドルで販売された(InfoWorld Jan 7, 1991 - p.16を参照)
Wiondows Installerが登場する前、Windows 9xの頃は多くのドライバ・ソフトウェアで使われていた。
GUI上でウィザードに従えば簡単に高水準なインストーラを作成できるのが特徴。
もちろんカスタムスクリプト使用可、多言語対応にも積極的。
唯一の欠点は専用開発ツールの価格。
ファイルの拡張子はexeだったりすることもあるが、これは実行したときに自己解凍を行っていて、実際のインストールは書庫内部のmsi(Windows Installer形式)を利用している。
これによりシステムの復元、ロールバック、インストーラ情報の一括管理、自動修復機能が利用できる。
・開発ツール
InstallShield(有償)
・(おまけ)他にもいろんなスクリーンショットを集めてみた。
InstallShieldはさすがに長い歴史を持つだけあってスキンのバリエーションも豊富。
今気づいたけど、NSISの構文ファイルは既にEmEditorのサイトに上がってたのか。まあいいや。