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月11日 (水)
■ NSIS でインストーラを作ってみる。

NSIS 2.0 を Windows BOX に入れて、プログラムのインストーラを作ってみる。 今まで Windows 用のインストーラを作った経験はなし。
NSISをインストールしたディレクトリの下の Examples の中にある NSISスクリプト (.nsi) をコピーして、ちょこちょこっと編集。 エクスプローラでそのファイルを右クリックして出るメニューに 'Compile NSIS Script' というのがあるのでこれを実行するとインストーラが出来上がる。 簡単。
NSISスクリプトはちょっと繁雑だが、複雑な事をしないならば気をつけて編集すれば問題ないか。
wxPerl + PAR + NSIS でそれなりに格好がつくプログラムができそうだ。 コマンドライン用コンパイラもあるので、Makefile.PLから一発でできるようにしたい。
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- ActivePerl で Ming (2005-02-23)
- JRE をバンドルしたインストーラを NSIS で作る (2004-12-02)
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
2004年8月24日 (火)
■ NSISスクリプト書き

Modern UI以下のサンプルや、NSIS Archive などを参考に。
- PATH環境変数への追加処理
- プログラムの追加と削除への(レジストリ)登録処理
- スタートメニューの登録処理
あたりをいじる。
autoconfiscate する時ほどは楽しくない。
- SCons は GNU Autotools のかわりになるか (2005-04-20)
- SpiderMonkey の素のインタプリタでは CGI プログラムには役立たず (2006-12-11)
- WiKicker でドメイン名なしの URL でセッションがはれなかった理由 (2006-11-10)
- Test::Harness を Perl モジュール開発以外で使う (2004-12-07)
- Windows 上の WiKicker で履歴機能が動かないのは環境変数 ... (2006-11-27)
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)
- JSmooth で Win32 上でのJava プログラム起動ファイル作成 (2004-12-06)
- OpenSSH for Windows (2004-08-05)
- 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)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
- PAR (2004-07-19)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
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)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
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)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
- JSmooth で Win32 上でのJava プログラム起動ファイル作成 (2004-12-06)
- JAlbum で Webフォトアルバム (2004-11-14)
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)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
2005年3月7日 (月)
■ UPXで実行可能ファイルを小さく

PARのチュートリアルで UPX (the Ultimate Packer for eXecutables)というツールが紹介されていたので使ってみる。 実行可能なファイルを、実行可能のまま圧縮するというもの。 MS-DOSの時代の伝説のプログラム DIET を思い出す。
PAR で実行可能形式に変換したPerlスクリプトを UPX 1.25 で圧縮したところサイズが小さくなった。 しかし PAR で作った実行可能バイナリは実行時に自身を展開するため、圧縮によってフォーマットが変わってしまっていることを検知して警告が出てしまう。 ちょっとよろしくない。
それにNSISでインストーラを作ってしまえばかなり高圧縮がかかるし、そういう意味では出番がないか。
いや USB メモリにいろいろ実行可能ファイルを詰め込みたい時にはいいかもしれない。
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- PAR (2004-07-19)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- 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)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- ActivePerl で Ming (2005-02-23)
- Windows 向けソフトウェア開発者はソースパッケージを作る習慣がない (2007-07-31)
- nmake で毎回 pl2bat されるのを何とかしたい (2004-11-25)
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 上でコンパイルしなおして動作確認するのだけれども)。
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
- Linux 上で Windows 用インストーラを作成する (2004-10-14)
- TrueCrypt で USB メモリに Windows と Linux ... (2006-12-14)
- NSIS が再び Linux でコンパイルできるように (2005-01-08)
- ActivePerl で Ming (2005-02-23)
スポンサード リンク
Related web page
http://project-p.jp/halt/kinowiki.php/NSIS
http://project-p.jp/halt/kinowiki/NSIS
トラックバックにあったのですが、スクリプト言語(perl)から使えたほうが便利だとのご意見をいただきました。さくっと SWIG で perl/ruby/pyth... ■コーデックなしにDivXやXviD、DVDまで鑑賞可能なマルチメディアプレーヤ。 DVDを含むあらゆる動画を再生、リージョンフリーで海外DVDも再生できる動画生成フリーソフトです。コーデックなしにDivXやXviD、DVDまで鑑賞可能なマルチ... ■kadomahttp://www.naney.org/diki/d/2004-10-14-NSIS.html
An installer is the first experience of a user with your application. Slow or unsuccessful software installations are the most irritating computer problems. A quick and user friendly installer is therefore an essential part of your software product. <strong>NSIS</strong> (Nullsoft Scriptable Install System) is a tool that allows programmers to create such installers for Windows. It is released under an open source license and is completely free for any use. More about <strong>NSIS</strong> features... Latest news 19-04-05 New build system Bhttp://nsis.sourceforge.net/index.php?id=2&backPID=2&tt_news=22
(the Ultimate Packer for eXecutables)というツールが紹介されていたので使ってみる。 実行可能なファイルを、実行可能のまま圧縮するというもの。 MS-DOSの時代の伝説のプログラム DIET を思い出す。 PAR で実行可能形式に変換したPerlスクリプトを UPX 1.25 で圧縮したところサイズが小さくなった。 しかし PAR で作った実行可能バイナリは実行時に自身を展開するため、圧縮によってフォーマhttp://www.naney.org/diki/dk/NSIS.html
■よく検索されるキーワード
torrent(56) 提案書(47) perl(45) windows(37) linux(31) 使い方(27) 書き方(25) debian(22) x31(22) usb(22) cvs(20) subversion(20) インストール(18) ドラマ(18) c#(17) mp980(17) svn(17) 修理(17) 手帳(16) ssh(15) 評判(15) アジェンダ(15) java(15) デロンギ(14) ガントチャート(13) 感想(13) n-01a(13) centos(13) tc-1(13) 充電式カイロ(13) ノート(12) ダイソー(12) thinkpad(12) rcs(12) f-01a(12) ヤマダ電機(12) ganttproject(12) 無印(11) ppm(11) レビュー(11) カイロ(11) 壁紙(11) 静電気(10) 動画(10) バッグインバッグ(10) ヨドバシカメラ(10) サンプル(10) アジェンダとは(10) wiki(10) ミノルタ(10) グッズ(10) 作り方(10) tortoisesvn(10) firefox(9) so905ics(9) memcached(9) 画像(9) gmail(9) ハクキンカイロ(9) 口コミ(9) a6(9) sh-01a(9) 冷蔵庫(9) ほぼ日手帳(9) mp3(8) emacs(8) 日本語(8) openssh(8) xampp(8) カメラ(8) nikon(8) 設定(8) 写真(8) 値段(7) flash(7) 方眼(7) web(7) docomo(7) カバー(7) リポジトリ(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.117145s / load averages: 0.34, 0.35, 0.38
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク