Aller au contenu

Créer un installateur Windows depuis un Mac ou Linux

Vos options pour produire un Setup.exe quand vous développez sous macOS ou Linux, de la compilation croisée NSIS à une build entièrement dans le navigateur, et comment tester le résultat sans posséder de PC Windows.

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

Beaucoup d'applications Windows sont développées sur Mac : applications Electron et Tauri, outils Python, jeux, binaires Go et Rust compilés en croisé. L'application se compile sans problème ; c'est l'installateur qui bloque, parce que les outils d'installation classiques supposent une machine Windows. Voici les moyens de contourner cela, et comment tester l'installateur quand vous n'avez pas Windows sous la main.

Option 1 : construire l'installateur dans le navigateur

ExeTup compile le Setup.exe dans le cloud. Depuis un Mac ou un poste Linux :

  1. Produisez la version Windows de votre application, de sorte qu'un seul dossier contienne MyApp.exe et ses fichiers. Electron Packager, PyInstaller (exécuté sous Windows ou dans une VM Windows, car PyInstaller ne fait pas de compilation croisée), GOOS=windows go build, cargo build --target x86_64-pc-windows-gnu et consorts produisent tous ce résultat.
  2. Compressez le dossier en .zip et envoyez-le.
  3. Renseignez le nom, la version, l'éditeur, la portée de l'installation, les raccourcis et les langues. Ajoutez un .ico.
  4. Lancez la build et téléchargez Setup.exe.

Rien n'est installé sur votre machine et il n'y a aucun script. Voir comment créer un Setup.exe pour le détail des options.

Option 2 : compiler NSIS en local

Le compilateur de NSIS fonctionne sous macOS et Linux :

brew install makensis        # macOS
sudo apt install nsis        # Debian, Ubuntu
makensis installer.nsi

Vous écrivez vous-même le script .nsi (voir installateur NSIS en ligne pour ce que cela implique). L'installateur produit est identique à celui compilé sous Windows. C'est le bon choix si vous voulez une build entièrement intégrée à votre propre CI et que maintenir le script ne vous dérange pas.

Option 3 : Inno Setup sous Wine

Inno Setup n'existe que pour Windows, mais son compilateur fonctionne sous Wine. Installez Wine, exécutez l'installateur d'Inno Setup à l'intérieur, puis appelez ISCC.exe via Wine depuis votre script de build. Cela fonctionne et certains projets sont livrés ainsi ; attendez-vous à quelques frictions avec les chemins et les polices. Voir alternative à Inno Setup pour une comparaison.

Option 4 : une build Windows en CI

GitHub Actions, GitLab et Azure Pipelines proposent tous des runners Windows. Compilez-y l'application et l'installateur, avec NSIS ou Inno Setup installé par une étape de préparation, et téléchargez l'artefact. Bien adapté aux équipes qui ont un pipeline de release ; lourd pour un développeur seul qui publie un petit outil.

Créer le .ico sur un Mac

Les icônes Windows sont des fichiers .ico contenant plusieurs tailles. À partir d'un PNG de 256×256 :

brew install imagemagick
magick icon.png -define icon:auto-resize=256,128,64,48,32,16 icon.ico

Utilisez le même fichier pour le binaire de l'application (--icon d'Electron Packager, --icon de PyInstaller) et pour l'installateur.

Tester sans PC Windows

Vous devriez exécuter l'installateur au moins une fois avant de le livrer. Les possibilités, à peu près par ordre d'effort :

  • Une machine virtuelle Windows. Sur Apple silicon, UTM ou Parallels avec Windows 11 ARM exécutent les applications x64 par émulation, suffisamment bien pour tester des installations. VirtualBox et VMware fonctionnent sur les Mac Intel et sous Linux. La licence de Microsoft autorise les installations d'évaluation à des fins de test.
  • Un bureau Windows dans le cloud. Windows 365, Azure Virtual Desktop ou la VM Windows de n'importe quel fournisseur, facturée à l'heure.
  • La machine d'un collègue ou d'un client, pour une vérification finale : lancez l'installateur, ouvrez l'application depuis le menu Démarrer, désinstallez-la depuis les Paramètres Windows.

Wine sous macOS peut exécuter certaines applications Windows, mais ce n'est pas un moyen fiable de juger un installateur.

Questions fréquentes

Puis-je compiler l'application Windows elle-même sur un Mac ?

Souvent. Electron, Tauri, Go, Rust et .NET peuvent cibler Windows depuis macOS. PyInstaller ne fait pas de compilation croisée : figez donc les applications Python sous Windows ou dans une VM Windows, puis construisez l'installateur à partir du dossier produit.

Ai-je besoin de Wine ou d'une VM pour ExeTup ?

Non. La build s'exécute dans le cloud et le résultat se télécharge dans votre navigateur. Une VM ne sert qu'à tester l'installateur ensuite.

Un installateur compilé sur un Mac se comportera-t-il différemment sous Windows ?

Non. Un installateur NSIS compilé par makensis sous macOS est équivalent octet pour octet à un installateur compilé sous Windows, et la build cloud d'ExeTup utilise le même compilateur.

Comment signer l'installateur depuis un Mac ?

La signature de code avec signtool nécessite Windows, mais osslsigncode signe les exécutables Windows sous macOS et Linux avec le même certificat. Voir le guide SmartScreen pour comprendre pourquoi la signature compte.

Guides associés