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 :
- Produisez la version Windows de votre application, de sorte qu'un seul dossier contienne
MyApp.exeet 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-gnuet consorts produisent tous ce résultat. - Compressez le dossier en .zip et envoyez-le.
- Renseignez le nom, la version, l'éditeur, la portée de l'installation, les raccourcis et les langues. Ajoutez un
.ico. - 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
- Comment créer un Setup.exe pour votre application Windows (sans code)Ce que fait vraiment un Setup.exe, les trois façons d'en créer un, et comment transformer le dossier de votre application en installateur professionnel en quelques minutes, sans écrire de script.
- Créer un installateur Windows pour une application ElectronEmpaquetez 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.
- Créer un installateur NSIS en ligne, sans écrire de scriptCe 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.