Nullsoft Scriptable Install Systemとは? わかりやすく解説

Weblio 辞書 > 固有名詞の種類 > 製品 > コンピュータ > ソフトウェア > オープンソース > Nullsoft Scriptable Install Systemの意味・解説 

Nullsoft Scriptable Install System

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/01/14 08:06 UTC 版)

Nullsoft Scriptable Install System
NSISツールのメインメニュー
開発元 Nullsoft
最新版
3.10 / 2024年3月30日 (9か月前) (2024-03-30)
リポジトリ
プログラミング
言語
C言語C++
対応OS Windows, POSIX
種別 プログラミングツールインストーラ構築ツール)
ライセンス zlib License
公式サイト nsis.sf.net
テンプレートを表示

Nullsoft Scriptable Install System (NSIS) は、スクリプト駆動型のWindowsインストールシステム。Winampの開発元であるNullsoftがオリジナルを開発した。InstallShieldのような商用プロプライエタリ製品の代替として広く採用されるようになってきている。

NSISはいくつかの自由ソフトウェアライセンスでリリースされており、主なライセンスとしてzlib Licenseを採用している。したがって、自由ソフトウェアである[1]

歴史

NSISはWinampの配布のために開発された。Nullsoftが以前に開発したPiMP (Plugin Mini Packager) をベースにしており、SuperPiMP と呼ばれることもある。バージョン2.0a0以降SourceForgeにプロジェクトを移行し、Nullsoft以外の開発者がプロジェクトに普通に関与できるようになった。NSIS 2.0 が実際にリリースされたのはそれから約2年後である。

NSISバージョン1はいろんな意味でWindows Installerに似通っていたが、スクリプトが書きやすく、より多数の圧縮フォーマットをサポートしていた。NSISバージョン2は効率的なGUIで、LZMA圧縮、各種言語、使いやすいプラグインシステムをサポートしている。

POSIX

バージョン2.01では、初めてPOSIXプラットフォームでのコンパイルが可能になった。これにより、Wineなどを使わなくともLinuxFreeBSDWindows用インストーラのクロスコンパイルが可能となっている。今のところ、x86だけをサポートしている。

コンセプト

スクリプト

NSISコンパイラプログラム makensis は、次の例のようなスクリプトをコンパイルしインストーラの実行ファイルを作成する。スクリプトの各行には1つのコマンドが書かれている。

# スクリプト例
Name "Example1"
OutFile "example1.exe"
InstallDir "$PROGRAMFILES\Example1"
Page Directory
Page InstFiles
Section
  SetOutPath $INSTDIR
  File ..\makensis.exe
SectionEnd

ユーザインタフェース

バージョン2.0で新たに Modern UI (MUI) と呼ばれるGUIを導入した。MUIはウィザード風インタフェースを持っている。ウェルカムページ、完了ページ、言語選択ダイアログ、コンポーネントの説明エリア、従来よりも幅広いカスタマイズオプションなどをサポートしている。

# Modern UI のスクリプト例
!include MUI.nsh
Name "Example 2"
OutFile "Example2.exe"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.rtf"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "French"
Section "Extract makensis"
  SetOutPath $INSTDIR
  File ..\makensis.exe
SectionEnd

プラグイン

NSISは、インストーラとやり取りできるプラグインで拡張可能である。プラグインはC言語C++Delphiで書くことができ、インストール時の各種タスクを実行したり、インストーラのインタフェースを拡張したりする。プラグインはNSISのスクリプトから1行で呼び出すことができる。

NSISパッケージにはいくつかのプラグインも含まれており、スプラッシュスクリーンの表示、特別なページの表示、背景に画像を表示する、ウェブサイトからのファイルのダウンロード、何らかの計算を行うもの、ファイルへのパッチ適用などのプラグインがある。

その他のプラグインはオンラインで入手可能で、ZipDLLPythonプラグインなどがある。

特徴

NSISを使っている主な製品

GUI

NSISプロジェクトはテキストファイルの編集だけで構成できるが、いくつかのサードパーティー製編集ソフトウェアもある。

  • EclipseNSIS - Eclipseプラットフォーム用モジュール。NSISスクリプトの編集、コンパイル、検証が可能。
  • HM NIS Edit

インストーラ用インタフェース

Modern UIを拡張・置換する新たなインタフェースを開発するプロジェクト群が始まっている。ExperienceUIUltraModernUIといったインタフェースは、InstallShield風の見た目を採用している。InstallSpiderUIは見た目をより簡潔にしているが、機能的にはModern UIと同等である。

生成インストーラ

生成したインストーラは1つのPortable Executableとなり、インストール対象ファイル群はそのインストーラにアーカイブされている。NSISインストーラ自体は34KBのオーバーヘッドであり[3]、スクリプトは実行ファイルのコードにコンパイルされている。スクリプトがコンパイルされるため、インストーラから元のスクリプトを簡単に取り出すことはできず、リバースエンジニアリングが必要になる。

アーカイブされたインストール対象ファイル群を取り出す場合は、7-ZipTotal Commander のプラグイン "InstallExplorer"、FAR Manager 用の同名の前身が使える可能性がある。

アーカイブには以下のようなフォルダがある。

  • $PLUGINSDIR : インストールルーチン用プラグイン群
  • $INSTDIR : インストール中に使うファイル群
  • $_OUTDIR : インストール対象ファイル群

Unicodeサポート

NSISの公式リリースではUnicodeをサポートしていないが、Jim Park がUnicodeサポート版NSISを開発・保守している。

NSIS Media というマルウェア

NSIS Mediaというマルウェア企業が広く知られている。NSIS MediaとNSISは名前が似ているだけで全く無関係である。このため、NSISを使ったインストーラには必ずマルウェアが含まれていると思っている人もいる[要出典]。インストーラが何であれ、インターネットからのダウンロードには常に注意が必要である。

一部のアンチウイルスソフトでは、(HTTPダウンロード機能を提供する)NSISdlなどのプラグインをトロイの木馬として認識することもあった[4]。これも間違いである。NSISはスクリプトシステムなのでマルウェアの開発にも使えるが、それがNSISの目的ではないし、そういう観点では大概のプログラミング言語にも同じことが言える。

関連項目

参考文献

外部リンク





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Nullsoft Scriptable Install System」の関連用語

Nullsoft Scriptable Install Systemのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Nullsoft Scriptable Install Systemのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのNullsoft Scriptable Install System (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS