nDiki : NSIS
NSIS - Nullsoft Scriptable Install System
Windows 用ソフトウェアインストーラ作成ツール。 コンパクトなインストーラを生成する。
NSIS スクリプトを使うと、インストーラ以外にちょっとしたプログラムを作ることができる。
NSIS スクリプトサンプル
それぞれファイルに保存して makensis.exe を実行する。
ダイアログを表示するプログラム
Name "Hello" OutFile "hello-dialog.exe" SilentInstall silent Section Messagebox MB_OK|MB_ICONINFORMATION "Hello World!" SectionEnd
web
- 公式サイト
- HM NIS Edit 公式サイト
- 典型的なインストーラならこれのウィザードで簡単に作成できる。
スポンサード リンク
Related term
2004年8月24日 (火)
■ NSISスクリプト書き

Modern UI以下のサンプルや、NSIS Archive などを参考に。
あたりをいじる。
autoconfiscate する時ほどは楽しくない。
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
- xyzzy を USB メモリ上の PStart から起動できるようにする (2006-12-18)
- 今日のさえずり - ダッフルコートを着ていた時期がぼくにもありました (2009-12-04)
- そろそろ Google Chrome を Windows のメイン Web... (2010-02-15)
2004年10月14日 (木)
■ Linux 上で Windows 用インストーラを作成する

NSIS の 2.01 が9月24日にリリースされていた。 目玉はNSISコンパイラ(makensis)が、POSIX プラットフォームで動くようになったこと。 Linux 上で Windows 用インストーラが作成できるようになる。
インストールしたいプログラム/データが(Javaプログラムだったり、クロスコンパイルできるものだったり、コンパイル不要のスクリプトだったりで)用意できるならば、Linux 上でインストーラまで通して作れるのでこれは有り難い。
@ インストール
tar jxvf nsis201.tar.bz2 cd NSIS/Source make USE_PRECOMPILED_EXEHEADS=1 cd .. fromdos install.sh su ./install.sh /usr/local/NSIS-2.01
ソースツリーにMenu ディレクトリ無くてインストール時にエラー表示がでるが、それ以外はうまくコピーされている感じ。
@ 使ってみる
Windows 上の NSIS 2.0 で使っていたNSISスクリプト(.nsi)をかけてみる。 間接的に WinMessages.MSH をインクルードしようとしてエラー。 ファイルの大文字小文字の問題だけのようで、lib/NSIS/Include/WinMessages.nsh を同ディレクトリ上に WinMessages.MSH としてシンボリックリンクを張ることで対処。
できあがったインストーラを Windows BOX で動かしてみた。 問題なくインストール完了。
素晴しい。
[ Linux 上で NSIS ]
- NSIS が再び Linux でコンパイルできるように (2005-01-08)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- OpenSSH for Windows (2004-08-05)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- JRE をバンドルしたインストーラを NSIS で作る (2004-12-02)
2004年12月2日 (木)
■ JRE をバンドルしたインストーラを NSIS で作る

Java で書いたプログラムを Windows ユーザに提供する時に、Java の実行環境の事とかを考えるのが面倒くさい。 頼まれて自分がセットアップする時も面倒くさい。
やっぱりJARファイル化したプログラムに JRE をバンドルしたインストーラを NSIS あたりで作れるようにしておいた方が、あとあと楽そうだ。
@ JRE
しかし JRE のバンドルの話を取り扱かっている記事ってあまりみかけない。 JRE 1.4.2_06 の README.txt などに再配布の事が書いてあるのだけれど、いまいちすっきりしないところもある。例えば
All files not in these lists of optional files must be included in redistributions of the runtime environment.
とあるんだけれど、All files ってどれよ。 Windows 用 JRE インストーラを実行して実際にインストールした後、インストール先にあるファイルって判断で良いのかな。多分。
それから、「それらをディレクトリごとコピーすれば他でも動くかどうか」という事に関する記述が見つけられないのがちょっと気持ち悪い。大丈夫っぽいんだけれど。
@ NSIS
NSIS 側はディレクトリまるごとインストール(File /r jre)と、アンインストール時にまるごと削除 (RMDir /r "$INSTDIR\jre") で OK。 実行に関しては NSIS Archive の Examples にある記事「Java Launcher」を参考に起動のための exe を作るなどすれば良い。 これは NSISスクリプトを用いて「java.exe を探し出して指定したパラメータで呼び出す exe ファイル」を作るというもの。
NSIS はインストーラを作るためのソフトであるが、NSISコンパイラでちょっとしたプログラムも書けるよという事を示す面白い例でもある。 これぐらいの用途であれば結構コンパクトな実行可能ファイルを吐いてくれる。
- JSmooth で Win32 上でのJava プログラム起動ファイル作成 (2004-12-06)
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- NSIS でインストーラを作ってみる。 (2004-08-11)
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
2004年12月6日 (月)
■ JSmooth で Win32 上でのJava プログラム起動ファイル作成

最近、Java プログラムを Win32 上で簡単に起動できるようにする方法を調査中。
JSmooth 0.9.7 を試してみる。 JSmooth 自体も Java アプリケーションなので、Linux で動くかと昨日試してみた(ソースをとってきて ant jar; ant run)のだがうまく動かなかった。 ということで今日 Windows 上で。
GUIベースなので使い方を一度覚えれば比較的簡単に使える。
- JSmooth は GNU GPL。生成した実行可能ファイルにはライセンス制約なし。
- 生成した exe は実行すると、インストールされているJVMを検索する。
- JVMが無い時に指定したURLのページへ誘導できる。
- JARファイルを exe に埋め込める(実行時に展開される)。もちろん埋め込まないでランチャを生成する事も可能。
など。手軽であるが、生成したランチャ(JARファイル埋め込み無し)で、約400KB弱となった。でかい。
NSIS で同様のランチャ(こちらも簡単なJVM検索はあり。ページへの誘導はなし)を生成すると、30KB強。 NSIS なら Linux でも生成できる事を考えると、JARファイルの exe 埋め込み機能以外は NSIS の方がよさそうだ。
- JRE をバンドルしたインストーラを NSIS で作る (2004-12-02)
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
2004年12月31日 (金)
■私的10大ニュース2004 [ comp ]

@ cool programs
- pdumpfs
- Memcached
- 簡単・高速なキャッシュシステム。使える。
- Firefox
- Subversion
- 将来的に CVS から移行する事を考えて試験的に導入。良い。Windows でも TortoiseSVN のおかげで簡単に利用できる(CVS にも TortoiseCVS が出て便利になった)。
- 影舞
- 今年前半のプロジェクトで活躍。
- PAR
- NSIS
- Template Toolkit
- Webアプリケーション開発プロジェクトで採用。www.naney.org の静的コンテンツの生成でも使い始めた。
@ Palm OS 生活復活
PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。
PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。
- Module::Build でソースパッケージング (2005-08-24)
- DAR で差分/増分バックアップ (2005-04-02)
- NSIS でインストーラを作ってみる。 (2004-08-11)
- クラッシュは突然に - DAR の使用を再検討 (2009-01-06)
- PAR (2004-07-19)
2005年1月8日 (土)
■ NSIS が再び Linux でコンパイルできるように

2.01 で POSIX プラットフォームで動くようになった NSIS であるが、2.02、2.03 は Linux上ではソースパッケージからのビルドでエラーになってしまっていた。
1月5日に 2.04 がリリースされたので、こちらも試してみる。お、ビルドできた。
tar jxvf nsis204.tar.bz2 cd NSIS/Source make USE_PRECOMPILED_EXEHEADS=1 cd .. su ./install.sh /usr/local/NSIS-2.04
インストール時に Menu ディレクトリが無くてエラーメッセージが出るのは前回と一緒。CVS リポジトリをみるとHTMLで書かれたドキュメントがあるだけのようなので、無くても問題なさそうである。 付属の install.sh も改行コードが CRLF から LF に修正されているためそのまま実行できるようになった。
[ Linux 上で NSIS ]
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- sid の CinePaint がプラグイン読み込みでエラー (2006-04-15)
- ActivePerl で Ming (2005-02-23)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
2005年3月7日 (月)
■ UPXで実行可能ファイルを小さく

PARのチュートリアルで UPX (the Ultimate Packer for eXecutables)というツールが紹介されていたので使ってみる。 実行可能なファイルを、実行可能のまま圧縮するというもの。 MS-DOSの時代の伝説のプログラム DIET を思い出す。
PAR で実行可能形式に変換したPerlスクリプトを UPX 1.25 で圧縮したところサイズが小さくなった。 しかし PAR で作った実行可能バイナリは実行時に自身を展開するため、圧縮によってフォーマットが変わってしまっていることを検知して警告が出てしまう。 ちょっとよろしくない。
それにNSISでインストーラを作ってしまえばかなり高圧縮がかかるし、そういう意味では出番がないか。
いや USB メモリにいろいろ実行可能ファイルを詰め込みたい時にはいいかもしれない。
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- NSIS でインストーラを作ってみる。 (2004-08-11)
- Wineを入れてみる (2005-03-31)
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
2005年4月20日 (水)
■ SCons は GNU Autotools のかわりになるか

NSIS のサイトによるとビルドに「SCons」を使うようしたらしい。
と興味深いツールになっているようだ。
現在プロジェクトLaTeXベースのドキュメント生成には GNU Make を使っているのだが、UNIX、Windows の両方でビルドできるようにするには ComSpec 環境変数の有無で使用するコマンドを切り換えたり等いろいろ面倒なので、代替ツールとして使えないかなと。
基本的な機能は Make に対する改良がなされているようであるし、コピー等ファイル操作も SCons 自体がもっているのでクロスプラットフォームでビルドできるようにするのも楽そうだ。
一方 Autoconf 系の機能については、インストール済みのライブラリの検出や実装レベルのチェック等を実装しているようである。 make check や make dist、make install 等にあたるターゲットに関する機能(あるいは規約)のようなものは無い。これは非常に残念。 結局自分が Ant を使わなくなったのも GNU Autotools にあるこれらの機能に欠けているからであるし。
実は私がPerl が好きな理由の一つとして、これらサポートが充実しているという点がある。Perl では ExtUtils::MakeMaker (あるいは Module::Build)があり、ビルドからテスト、ソースパッケージのパッケージングまでフレームワークが整っている。
SCons は Python ベースで、Makefile にあたるファイルも Python スクリプトである。 SCons が影響を受けた Cons は Perl ベースであったのだが、既に2001年5月ごろから開発が止まってしまっている。残念。
ということで Make の代替には使えそうであるが、GNU Autotools と同じようなことをするにはいろいろ手をかけないといけないといった印象。
- Module::Build でソースパッケージング (2005-08-24)
- Windows 向けソフトウェア開発者はソースパッケージを作る習慣がない (2007-07-31)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- ActivePerl で Ming (2005-02-23)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
2006年12月20日 (水)
■ NSIS 2.22 は Linux でビルドできず

Windows 用のインストーラ作成ツール NSIS は、スクリプトベースでインストーラを作っていくのが1つの特徴である。 NSIS スクリプトは、さすがインスーラ作成用だけあって
- ファイル処理 (コピー、削除、……)
- レジストリの読み書き
- プログラムの実行
その他システム関連のコマンドが充実している。 コンパイルするとかなりコンパクトな実行形式ファイル (EXE) を生成してくれるので、ちょっとした処理を自動化するには便利である。
今回 USB メモリに入れておいて、そのドライブ上のいくつかのディレクトリに PATH が通った状態でコマンドプロンプトを開くツールを NSIS で書いておこうかと思って試す。
NSIS は POSIX ベースシステムでビルドし実行でき、NSIS スクリプトをコンパイルできる。 ということで作業を Linux で作業をしていたのだが、どうやら System::Call が使えないようだ(スクリプトのコンパイルに失敗する)。
Debian パッケージが古いせい (2.19-1.1) かと思い、ソースパッケージをビルドしてみたらまさに System 関連らしいところでコンパイルがこけている (そういう背景で Debian パッケージがアップデートされていない?)。
ということでどうも最新の NSIS は Linux では駄目っぽい。
しょうがないので久しぶりに Wine。
Wine 上に NSIS 2.22 をインストールして makensis.exe を実行してみたところ試した範囲ではうまく動いている。 ついでにでき上がった実行可能ファイルも Wine 上で試せる。
しばらくは Wine 上で NSIS スクリプト書きを楽しむことにしよう (最終的には Windows 上でコンパイルしなおして動作確認するのだけれども)。
- TrueCrypt で USB メモリに Windows と Linux ... (2006-12-14)
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- NSIS が再び Linux でコンパイルできるように (2005-01-08)
2009年1月23日 (金)
■ 今日のさえずり - シビラ VS ニセシビラ

@ 2009年01月21日
- 12:01 冷蔵庫の価格調査しにヨドバシカメラに行ってくる。 *P3
- 12:14 ヨドバシカメラ着。L:秋葉原 [mb]
- 12:37 冷蔵庫、LABI のポイント無し価格より、ヨドバシカメラのポイントの付く価格の方が安かった。この違いは何? LABI の長期保証って価格差を補える価値がある? [mb]
- 13:59 SKKIME 最新版に入れ換え。再起動中。 *P3
@ 2009年01月22日
- 12:45 Synkron お試し中。 *P3
- 13:17 Synkron 双方向同期の振舞いがちょっと希望と違うな。やっぱり Unison か。 *P3
- 17:48 1月28日の有給休暇申請書出した。 *P3
- 18:48 冷蔵庫買ったよ。 [mb]
@ 2009年01月23日
- 07:14 洗濯機がキュルキュルいっているけど気のせいだよね。 [mb]
- 10:11 NSIS 2.42 をインストール。インストーラを作るためじゃなくて、スクリプトコンパイラとして。 *P3
- 15:07 シビラ VS ニセシビラ [Flickr] http://tinyurl.com/b64jc4
- 今日のさえずり - チョップリフターって当初チューリップファイターだと思っていた (2008-12-09)
- 今日のさえずり - 膝小僧をビニール傘の先っちょでツンツンされた (2009-11-17)
- 今日のさえずり - ホームレスグーチョコランタン (2008-10-27)
- パナソニック の冷蔵庫 NR-E473T 買った - 苦悩終了 (2009-01-22)
- TrueCrypt で USB メモリに Windows と Linux ... (2006-12-14)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.218375s / load averages: 0.06, 0.07, 0.08
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)





◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。