8 Punkte von GN⁺ 2026-02-16 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Native Windows-Entwicklung ist durch die Abhängigkeit von der Installation von Visual Studio komplex und ineffizient
  • Installationsgrößen von mehreren Dutzend GB, intransparente Verwaltung von Komponenten und Probleme durch Versionsabweichungen senken die Produktivität von Entwicklern
  • Um das zu lösen, wurde das leichtgewichtige CLI-Tool msvcup entwickelt, mit dem sich MSVC-Toolchain und Windows SDK versionsweise und isoliert automatisch installieren lassen
  • msvcup bietet durch Parsing von JSON-Manifests, automatische Umgebungseinrichtung (autoenv) und Unterstützung für Lock-Dateien reproduzierbare Build-Umgebungen
  • Dieser Ansatz macht ein vollständig automatisiertes, skriptbasiertes Build-System möglich, ohne vom Visual Studio Installer abhängig zu sein

Probleme der nativen Windows-Entwicklung

  • Der bisherige Ansatz, Visual Studio installieren zu müssen, belastet Entwickler durch einen komplizierten Installationsprozess und instabiles Abhängigkeitsmanagement
    • Erfordert detaillierte Auswahl wie den Workload „Desktop development with C++“ oder bestimmte SDK-Versionen; bei falscher Auswahl schlägt der Build fehl
    • Die Installation kann 50 GB erreichen, und selbst nach der Deinstallation bleiben Registry-Reste und Hintergrunddienste zurück
  • Unter Linux lässt sich eine Toolchain mit einer einzigen Paketmanager-Zeile installieren, unter Windows müssen dagegen Tausende Komponenten manuell ausgewählt werden
  • Visual Studio ist eine monolithische Struktur, in der Editor, Compiler und SDK miteinander verknüpft sind, was Versionsverwaltung und reproduzierbare Umgebungen erschwert
  • Dadurch treten häufig Inkonsistenzen nach dem Muster „auf meinem PC funktioniert es“ auf, was als Einstiegshürde für native Entwicklung wirkt

msvcup: ein neuer Ansatz

  • msvcup ist ein Open-Source-CLI-Tool, das MSVC-Toolchain und Windows SDK direkt herunterlädt und installiert, ganz ohne Visual-Studio-Installation
    • Jede Version wird in einem isolierten Verzeichnis unter C:\msvcup\ installiert, sodass mehrere Versionen parallel ohne Konflikte genutzt werden können
    • Die Installation ist in wenigen Minuten abgeschlossen, inklusive ARM-Cross-Compile-Tools
  • Der Befehl msvcup install installiert die benötigten Pakete, und der Befehl autoenv erzeugt ein automatisches Umgebungsverzeichnis
    • Dieses Verzeichnis enthält Wrapper-Executables, die Umgebungsvariablen automatisch setzen, sowie eine Datei toolchain.cmake, sodass sich auch CMake-Projekte ohne zusätzliche Konfiguration bauen lassen
  • Im Beispielskript build.bat lässt sich ein „Hello, World“-Programm mit msvcup ohne Visual Studio bauen
    • Funktioniert unter Windows 10 oder neuer, solange curl und tar vorhanden sind

Funktionsweise im Inneren

  • Es werden die von Microsoft bereitgestellten JSON-Manifests für Visual-Studio-Komponenten geparst, um nur die benötigten Pakete zu identifizieren
    • Kernbestandteile wie Compiler, Linker, Header und Bibliotheken werden direkt vom Microsoft-CDN heruntergeladen
  • Installierte Komponenten werden über eine Lock-Datei (lock file) verwaltet, sodass das gesamte Team dieselben Paketversionen gemeinsam nutzen kann
  • Die Befehle install und autoenv sind idempotent, und wenn bereits alles installiert ist, sind sie in wenigen Millisekunden abgeschlossen

Praxisbeispiel

  • Tuple (Pair-Programming-App) hat msvcup in sein CI-Build-System integriert und damit die Anforderung entfernt, Visual Studio vorab zu installieren
    • Hunderte C/C++-Projekte einschließlich WebRTC lassen sich mit derselben Toolchain/demselben SDK bauen
    • Unterstützt sowohl x86_64- als auch ARM-Builds
  • Vorteile
    • Durch versionsweise Verzeichnisinstallation sind parallele Versionsverwaltung und einfache Neuinstallation möglich
    • Automatische Unterstützung für Cross-Compilation, keine separate Konfiguration erforderlich
    • Reproduzierbarkeit auf Basis von Lock-Dateien, Änderungen auf Microsoft-Seite werden sofort sichtbar
    • Hohe Ausführungsgeschwindigkeit, keine unnötigen Neuinstallationen

Grenzen und Erweiterung

  • msvcup ist auf die Compiler-Toolchain ausgerichtet; wenn die Visual-Studio-IDE selbst benötigt wird, ist die offizielle Installation weiterhin erforderlich
  • In den meisten nativen Entwicklungs-Workflows bietet es jedoch eine vollständige Build-Umgebung auch ohne IDE
  • Das als Beispiel gezeigte raylib-Build-Skript installiert SDK und Toolchain automatisch und baut das Projekt auch ohne Visual Studio
    • Vollständig automatisierter Build-Prozess nur über die Kommandozeile, ohne GUI

Fazit

  • msvcup beseitigt die Komplexität des Visual Studio Installers und bietet eine leichtgewichtige native Build-Umgebung mit Versionskontrolle
  • Dieser Ansatz macht native Windows-Entwicklung reproduzierbar und automatisiert und hilft Entwicklern, sich von der IDE-Abhängigkeit zu lösen
  • Repo : https://github.com/marler8997/msvcup

Noch keine Kommentare.

Noch keine Kommentare.