Zum Inhalt springen

Windows-Installer auf dem Mac oder unter Linux erstellen

Ihre Möglichkeiten, eine Setup.exe zu bauen, wenn Sie unter macOS oder Linux entwickeln – vom Cross-Kompilieren mit NSIS bis zum Build rein im Browser – und wie Sie das Ergebnis ohne eigenen Windows-PC testen.

Aktualisiert am 31. Oktober 2026 · 3 Min. Lesezeit

Viele Windows-Anwendungen entstehen auf Macs: Electron- und Tauri-Apps, Python-Tools, Spiele, cross-kompilierte Go- und Rust-Binaries. Die App lässt sich problemlos bauen; beim Installer bleiben die Leute hängen, weil die klassischen Installer-Werkzeuge einen Windows-Rechner voraussetzen. Hier sind die Wege darum herum – und wie Sie den Installer testen, wenn gerade kein Windows zur Hand ist.

Option 1: den Installer im Browser bauen

ExeTup baut die Setup.exe in der Cloud. Von einem Mac oder einem Linux-Desktop aus:

  1. Erstellen Sie den Windows-Build Ihrer App, sodass ein Ordner MyApp.exe und die zugehörigen Dateien enthält. Electron Packager, PyInstaller (unter Windows oder in einer Windows-VM ausgeführt, da PyInstaller nicht cross-kompiliert), GOOS=windows go build, cargo build --target x86_64-pc-windows-gnu und Ähnliches liefern genau das.
  2. Packen Sie den Ordner als .zip und laden Sie ihn hoch.
  3. Tragen Sie Name, Version, Herausgeber, Installationsbereich, Verknüpfungen und Sprachen ein. Fügen Sie ein .ico hinzu.
  4. Bauen Sie und laden Sie Setup.exe herunter.

Auf Ihrem Rechner wird nichts installiert, und es gibt kein Skript. Siehe Wie man eine Setup.exe erstellt für die Optionen im Detail.

Option 2: NSIS lokal kompilieren

Der NSIS-Compiler läuft unter macOS und Linux:

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

Das .nsi-Skript schreiben Sie selbst (siehe NSIS-Installer online dazu, was das bedeutet). Der erzeugte Installer ist identisch mit einem unter Windows kompilierten. Das ist die richtige Wahl, wenn der Build vollständig in Ihrer eigenen CI laufen soll und Sie das Skript gern selbst pflegen.

Option 3: Inno Setup unter Wine

Inno Setup gibt es nur für Windows, aber sein Compiler läuft unter Wine. Installieren Sie Wine, führen Sie darin den Inno-Setup-Installer aus und rufen Sie anschließend ISCC.exe über Wine aus Ihrem Build-Skript auf. Das funktioniert, und manche Projekte liefern so aus; rechnen Sie mit etwas Reibung bei Pfaden und Schriftarten. Siehe Inno-Setup-Alternative für einen Vergleich.

Option 4: ein Windows-Build in der CI

GitHub Actions, GitLab und Azure Pipelines bieten alle Windows-Runner an. Bauen Sie App und Installer dort, mit NSIS oder Inno Setup, das ein Setup-Schritt installiert, und laden Sie das Artefakt herunter. Gut für Teams mit Release-Pipeline; schwerfällig für Einzelentwickler, die ein kleines Tool ausliefern.

Das .ico auf dem Mac erstellen

Windows-Icons sind .ico-Dateien mit mehreren Größen. Aus einem PNG mit 256×256 Pixeln:

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

Verwenden Sie dieselbe Datei für das App-Binary (--icon bei Electron Packager, --icon bei PyInstaller) und für den Installer.

Testen ohne Windows-PC

Sie sollten den Installer vor der Auslieferung mindestens einmal ausführen. Die Möglichkeiten, ungefähr nach Aufwand geordnet:

  • Eine virtuelle Windows-Maschine. Auf Apple Silicon führen UTM oder Parallels mit Windows 11 ARM x64-Apps per Emulation gut genug aus, um Installationen zu testen. VirtualBox und VMware laufen auf Intel-Macs und unter Linux. Microsofts Lizenz erlaubt Evaluierungsinstallationen zu Testzwecken.
  • Ein Windows-Desktop in der Cloud. Windows 365, Azure Virtual Desktop oder die Windows-VM eines beliebigen Anbieters, stundenweise abgerechnet.
  • Der Rechner eines Kollegen oder Kunden für den letzten Check: Installer ausführen, die App über das Startmenü öffnen, über die Windows-Einstellungen deinstallieren.

Wine unter macOS kann manche Windows-Apps ausführen, ist aber kein verlässlicher Weg, einen Installer zu beurteilen.

Häufige Fragen

Kann ich die Windows-App selbst auf einem Mac bauen?

Oft. Electron, Tauri, Go, Rust und .NET können von macOS aus Windows als Ziel bauen. PyInstaller kann nicht cross-kompilieren; frieren Sie Python-Apps daher unter Windows oder in einer Windows-VM ein und bauen Sie den Installer dann aus dem erzeugten Ordner.

Brauche ich Wine oder eine VM für ExeTup?

Nein. Der Build läuft in der Cloud, und das Ergebnis wird im Browser heruntergeladen. Eine VM ist nur nützlich, um den Installer anschließend zu testen.

Verhält sich ein auf dem Mac kompilierter Installer unter Windows anders?

Nein. Ein mit makensis unter macOS kompilierter NSIS-Installer ist Byte für Byte gleichwertig mit einem unter Windows kompilierten, und der Cloud-Build von ExeTup verwendet denselben Compiler.

Wie signiere ich den Installer vom Mac aus?

Code-Signierung mit signtool braucht Windows, aber osslsigncode signiert Windows-Executables unter macOS und Linux mit demselben Zertifikat. Siehe den SmartScreen-Leitfaden dazu, warum Signieren wichtig ist.

Verwandte Anleitungen