Nullsoft Scriptable Install System

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis NSIS)
Sauter à la navigation Sauter à la recherche

Nullsoft Scriptable Install System
Description de l'image Nullsoft Scriptable Install System icon.png.
Description de cette image, également commentée ci-après
Capture d'écran de l'installateur de NSIS, lui-même créé avec NSIS
Informations
Développé par Nullsoft
Première version [1]Voir et modifier les données sur Wikidata
Dernière version 3.0 ()[2],[3]
3.02 ()[4]
3.03 ()[5]Voir et modifier les données sur Wikidata
Dépôt sourceforge.net/p/nsis/code/HEAD/treeVoir et modifier les données sur Wikidata
Écrit en C++, C, Nullsoft Scriptable Install System et PHPVoir et modifier les données sur Wikidata
Environnement Windows, POSIX
Langues Multilingue
Type Langage de programmationVoir et modifier les données sur Wikidata
Licence Licence zlib[6]
Site web nsis.sourceforge.net

Nullsoft Scriptable Install System (NSIS), est un logiciel libre contrôlable par script, qui permet la création d'installateurs pour Windows. Il a été initialement développé par Nullsoft, la société créatrice de Winamp. NSIS est une alternative aux produits commerciaux, comme InstallShield.

Histoire[modifier | modifier le code]

NSIS a été créé pour distribuer Winamp. Il se base sur un produit précédent de Nullsoft : PiMP (plugin Mini Packager) qui est aussi connu sous le nom de SuperPiMP. Après la version 2.0a0, le projet a été placé sur SourceForge.net où des développeurs extérieurs à Nullsoft ont pu commencer à l'améliorer. NSIS 2.0 a été publié à peu près 2 ans plus tard.

NSIS version 1 est très similaire au classique Windows Installer, mais est plus facile à scripter et supporte davantage de formats. NSIS version 2 possède une nouvelle interface graphique, supporte la compression LZMA, est traduit dans plusieurs langues et introduit un mécanisme de module simple.

POSIX[modifier | modifier le code]

La version 2.01 a été la première version à compiler sur les plates-formes POSIX. Cela permet la compilation croisée (cross-compilation) d'installeurs sous Windows et Linux sans émulation. Actuellement la seule architecture supportée est x86.

Concepts[modifier | modifier le code]

Scripts[modifier | modifier le code]

Le compilateur NSIS, makensis, compile des scripts comme l'exemple suivant pour en faire un programme exécutable. Le script contient une commande par ligne.

# Script d'exemple
Name "Example1"
OutFile "example1.exe"
InstallDir "$PROGRAMFILES\Example1"
Page Directory
Page InstFiles
Section
  SetOutPath $INSTDIR
  File ..\makensis.exe
SectionEnd

Interface utilisateur[modifier | modifier le code]

NSIS 2.0 a introduit un nouveau style graphique optionnel appelé Modern UI (MUI). L'interface MUI possède un assistant qui en plus de proposer davantage de réglages, propose :

  • une page de bienvenue
  • une page finale
  • une page pour la sélection de la langue
  • une page de description des composants
# Script d'exemple "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

Modules[modifier | modifier le code]

NSIS peut être étendu via des modules qui peuvent communiquer avec l'installeur. Ceux-ci peuvent être écrits en C, C++, et Delphi. Ils peuvent être utilisés pour effectuer des tâches d'installation ou pour étendre le code. Un module peut être appelé simplement depuis NSIS grâce à une ligne de code.

Divers modules sont fournis avec NSIS. Ils permettent entre autres d'afficher un écran de démarrage, une page personnalisée, une image d'arrière plan, de télécharger un fichier depuis Internet ou bien encore d'effectuer des opérations mathématiques.

Plusieurs modules sont disponibles en ligne, comme ZipDLL, ou bien un interpréteur Python plugin.

Fonctionnalités[modifier | modifier le code]

  • Taille en mémoire très réduite
  • Compressions zlib, bzip2, et LZMA
  • Basé sur des scripts
  • Multilingue
  • Support de modules
  • Interpréteur de scripts

(Liste complète en anglais)

Produits connus utilisant NSIS[modifier | modifier le code]

7-Zip, Inkscape, Mozilla Firefox 2.0, VLC media player, Winamp ...

Une liste plus complète est disponible sur le site officiel (en).

Les interfaces graphiques[modifier | modifier le code]

NSIS utilise uniquement des fichiers textuels pour la configuration des projets. Toutefois, des logiciels tiers permettent leur édition :

Liens externes[modifier | modifier le code]

Notes et références[modifier | modifier le code]