Aller au contenu

Créer un installateur Windows pour une application Electron

Empaquetez votre application Electron avec Electron Packager ou Forge, puis transformez le dossier obtenu en Setup.exe avec assistant, raccourcis et désinstallateur, sans configurer electron-builder.

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

Electron vous livre une application Windows fonctionnelle dans un dossier : MyApp.exe, quelques DLL, resources/app.asar et les locales. Transformer ce dossier en Setup.exe est une étape à part, et les outils habituels (electron-builder, Squirrel, les makers d'electron-forge) apportent chacun leur configuration, leurs particularités et leurs exigences pour la machine de build. Si vous préférez ne pas les apprendre juste pour obtenir un installateur avec assistant, voici le chemin le plus court.

Étape 1 : empaqueter l'application dans un dossier

Il vous faut l'application empaquetée, pas le projet de développement. Chacun des deux outils ci-dessous produit un dossier prêt à distribuer.

Electron Packager (une seule commande, pas de fichier de configuration) :

npx @electron/packager . MyApp --platform=win32 --arch=x64 --icon=build/icon.ico --overwrite

Cela crée MyApp-win32-x64/ avec MyApp.exe à l'intérieur.

Electron Forge, si votre projet l'utilise déjà :

npm run package

Le dossier apparaît sous out/, par exemple out/MyApp-win32-x64/.

Les deux commandes fonctionnent sous Windows, macOS et Linux. L'option --icon (ou packagerConfig.icon avec Forge) définit l'icône intégrée à MyApp.exe ; gardez ce fichier .ico sous la main, il servira aussi pour l'installateur.

Ouvrez le dossier et double-cliquez sur MyApp.exe pour vérifier que l'application empaquetée démarre. Utilisez --arch=ia32 à la place si vous avez besoin d'une version 32 bits.

Étape 2 : compresser le dossier en zip

Compressez le contenu de MyApp-win32-x64/ (le .exe, les DLL, resources/, locales/), pas le projet parent. Tout ce qui se trouve dans le zip est installé tel quel : laissez de côté ce qui ne doit pas être distribué.

Étape 3 : générer l'installateur

  1. Envoyez le zip sur ExeTup. Il liste les fichiers et sélectionne MyApp.exe comme programme principal ; confirmez.
  2. Saisissez le nom de l'application, la version (identique à celle de package.json), l'éditeur et, si vous le souhaitez, une licence.
  3. Choisissez la portée de l'installation. Les applications Electron sont généralement installées par utilisateur, ce qui ne demande aucun droit administrateur et correspond à ce que font les installateurs basés sur Squirrel. Choisissez tous les utilisateurs si vous voulez l'application dans Program Files pour tout le monde sur la machine.
  4. Conservez 64 bits pour un paquet x64.
  5. Envoyez le même .ico pour l'installateur et les raccourcis, activez les raccourcis du menu Démarrer et du Bureau, et « lancer après l'installation » si vous le souhaitez.
  6. Lancez le build, téléchargez Setup.exe et testez-le sous Windows.

Particularités d'Electron

  • Taille. Une application Electron empaquetée pèse 150 à 250 Mo non compressée. L'installateur utilise une compression LZMA solide, qui la ramène généralement à 60 à 90 Mo. Vérifiez la limite d'envoi dans la section tarifs avant de compresser ; elle est fixée par le site.
  • Mises à jour automatiques. Cet installateur n'inclut pas de flux de mise à jour. Si vous utilisez electron-updater ou le mécanisme de mise à jour de Squirrel, conservez cette voie ; ce guide s'adresse aux applications qui livrent chaque nouvelle version sous forme de nouvel installateur, ce qui est plus simple et convient très bien à de nombreuses applications.
  • Lancement au démarrage. Préférez l'option « lancer au démarrage » de l'installateur à app.setLoginItemSettings lorsque vous voulez que le choix soit fait au moment de l'installation ; les deux écrivent le même type d'entrée Run.
  • Signature de code. Le MyApp.exe empaqueté et le Setup.exe ne sont pas signés tant que vous ne les signez pas. Les téléchargements non signés peuvent déclencher l'avertissement SmartScreen ; consultez le guide SmartScreen.

Comparaison avec la cible NSIS d'electron-builder

electron-builder peut aussi produire un installateur NSIS, et c'est un bon outil lorsque vous avez besoin de toutes ses fonctionnalités : mises à jour différentielles, scripts NSIS personnalisés, sortie MSI, hooks de signature. La contrepartie, c'est la configuration et un environnement de build à maintenir. ExeTup génère le même type d'installateur NSIS à partir du dossier empaqueté, avec les options définies dans un formulaire, ce qui convient aux équipes qui publient occasionnellement ou qui travaillent sur Mac et ne veulent pas d'un pipeline Windows uniquement pour l'installateur.

Questions fréquentes

Puis-je envoyer le dossier du projet Electron plutôt que l'application empaquetée ?

Non. L'installateur enveloppe la sortie d'Electron Packager ou de Forge : le dossier qui contient MyApp.exe. Le projet source, node_modules et l'outillage de développement n'y ont pas leur place.

Quelle portée d'installation choisir pour une application Electron ?

Par utilisateur est le choix courant, car l'installation se fait sans invite administrateur, dans le dossier propre à l'utilisateur. Choisissez tous les utilisateurs lorsque des services informatiques déploient l'application pour chaque compte d'une machine.

L'installateur gère-t-il le cas où l'application est ouverte pendant la désinstallation ?

Le désinstallateur supprime les fichiers qu'il a installés. Demandez aux utilisateurs de fermer d'abord l'application, comme pour n'importe quel programme Windows ; un .exe en cours d'exécution ne peut pas être supprimé tant qu'il n'est pas fermé.

Cela fonctionne-t-il pour les applications créées avec Tauri ou NW.js ?

Oui. N'importe quel dossier contenant un .exe Windows et ses fichiers peut être enveloppé. Tauri fournit son propre bundler, mais la sortie empaquetée brute fonctionne ici de la même façon.

Guides associés