Aller au contenu

Créer un installateur NSIS en ligne, sans écrire de script

Ce qu'est NSIS, à quoi ressemble un script .nsi minimal, et comment obtenir un Setup.exe NSIS standard avec l'assistant Modern UI, des raccourcis et un désinstallateur à partir d'un formulaire plutôt que d'un script.

Mis à jour le 31 octobre 2026 · 3 min de lecture

NSIS, le Nullsoft Scriptable Install System, est depuis plus de vingt ans le discret cheval de trait des installateurs Windows. VLC, 7-Zip, Audacity et d'innombrables applications Electron sont distribués avec lui. Il est gratuit, produit des installateurs compacts et fait exactement ce que dit son script. Ce script est aussi ce qui arrête beaucoup de monde : on apprend un langage de macros pour obtenir un assistant que la plupart des applications veulent de toute façon sous la même forme. Ce guide montre ce que le script implique et comment obtenir le même installateur sans l'écrire.

Ce que fait NSIS

makensis compile un script texte (.nsi) en un Setup.exe autonome. Le script déclare les pages de l'assistant, les fichiers à installer, les raccourcis et les entrées de registre à créer, ainsi qu'une section de désinstallation qui annule le tout. Avec la Modern UI (MUI2.nsh), on obtient les pages familières de bienvenue, de licence, de dossier, de progression et de fin, traduites dans des dizaines de langues.

Le résultat est compact : la compression LZMA solide fait souvent mieux qu'un zip des mêmes fichiers. Les installateurs prennent en charge le mode silencieux (/S) et un dossier d'installation personnalisé (/D=) sans effort supplémentaire.

À quoi ressemble le script

Un script minimal mais réaliste pour un dossier d'application fait environ quatre-vingts lignes. Le squelette :

!include MUI2.nsh
Name "My App"
OutFile "Setup.exe"
InstallDir "$PROGRAMFILES64\My App"
RequestExecutionLevel admin

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.txt"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

Section "Install"
  SetOutPath "$INSTDIR"
  File /r "app\*"
  WriteUninstaller "$INSTDIR\uninstall.exe"
  CreateShortcut "$SMPROGRAMS\My App.lnk" "$INSTDIR\MyApp.exe"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\My App" "DisplayName" "My App"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\My App" "UninstallString" "$INSTDIR\uninstall.exe"
SectionEnd

Section "Uninstall"
  Delete "$INSTDIR\MyApp.exe"
  RMDir /r "$INSTDIR"
  Delete "$SMPROGRAMS\My App.lnk"
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\My App"
SectionEnd

Le vrai script grandit à partir de là : informations de version pour les propriétés du fichier, raccourci sur le Bureau, vues de registre 64 bits, installations par utilisateur sous $LOCALAPPDATA, boîte de dialogue de choix de la langue, « lancer après l'installation », taille estimée pour les Paramètres Windows, et un désinstallateur qui ne supprime que les fichiers qu'il a installés plutôt que tout le dossier (les utilisateurs rangent bel et bien leurs propres fichiers à côté des applications). Chaque élément tient en quelques lignes, et chacun est une occasion de se tromper sur un détail.

Obtenir le même installateur à partir d'un formulaire

ExeTup est un générateur d'installateurs NSIS : il produit un script comme celui ci-dessus à partir de vos réponses, le compile avec makensis dans le cloud et vous remet le Setup.exe. Ce que vous renseignez :

  • Fichiers : un zip du dossier de l'application, ou un seul .exe, plus d'éventuels « autres fichiers » à installer à côté.
  • Détails : nom, version, éditeur, site web, texte de la licence.
  • Options : tous les utilisateurs ou l'utilisateur actuel, 64 ou 32 bits, raccourcis dans le menu Démarrer et sur le Bureau, lancement après l'installation, lancement au démarrage.
  • Langues : n'importe lesquelles parmi quinze, avec la boîte de dialogue de langue de NSIS dès que vous en choisissez plusieurs.
  • Icône : un .ico pour l'installateur et les raccourcis.

Le résultat est un installateur NSIS standard avec la Modern UI, la compression LZMA solide, le désinstallateur enregistré dans les Paramètres Windows, les informations de version dans les propriétés du fichier et l'installation silencieuse /S. Chaque valeur saisie est échappée avant d'atteindre le script, ce qui compte, car les scripts NSIS peuvent exécuter des commandes à la compilation.

Quand écrire le script soi-même

Écrivez NSIS à la main quand vous avez besoin de pages personnalisées, de plugins, de sections conditionnelles, de l'installation d'un service, ou d'une intégration à un pipeline de CI qui compile déjà sous Windows. La documentation de NSIS et les exemples livrés avec sont de bonne qualité. Pour une application qui a besoin de l'assistant standard, de raccourcis et d'un désinstallateur, générer le script est plus rapide et plus difficile à rater.

Questions fréquentes

Le résultat est-il un vrai installateur NSIS ?

Oui. ExeTup génère un script NSIS et le compile avec le makensis officiel. Le Setup.exe se comporte comme n'importe quel installateur NSIS, y compris avec les options /S et /D=.

Puis-je télécharger le script .nsi généré ?

Le script est généré au moment de la compilation à partir de vos réglages. C'est l'installateur lui-même que vous téléchargez ; ses options sont visibles dans l'aperçu avant la compilation.

NSIS fonctionne-t-il sur Mac ou Linux ?

makensis compile sur les trois plateformes, et Homebrew comme apt le proposent en paquet. Le script reste à écrire vous-même. ExeTup ne demande qu'un navigateur ; voir créer un installateur Windows sur un Mac.

Quelles langues sont prises en charge ?

Anglais, chinois simplifié, hindi, espagnol, français, arabe, portugais du Brésil, russe, indonésien, allemand, japonais, turc, coréen, vietnamien et italien, avec les traductions propres à NSIS.

Guides associés