Windows System

Die Architektur von Winget verstehen

Winget wirkt auf den ersten Blick erstaunlich einfach: Ein Befehl genügt und die gewünschte Software wird installiert. Hinter dieser Einfachheit verbirgt sich jedoch eine durchdachte Architektur aus Paketquellen, Manifesten, Sicherheitsprüfungen und Installationsmechanismen. In diesem dritten Teil der Serie werfen wir einen Blick hinter die Kulissen und erklären, wie Winget intern arbeitet, warum es als sicher gilt und welche Komponenten bei jeder Installation zusammenspielen.

5 min Lesezeit
Grafik: Die Architektur von Winget einfach erklärt


So arbeitet der Windows Package Manager im Hintergrund

Wer bereits mit Linux-Paketmanagern wie APT, DNF oder Pacman gearbeitet hat, erkennt schnell einige Gemeinsamkeiten. Auch Winget arbeitet mit Paketquellen und Metadaten, lädt Software automatisiert herunter und installiert sie.

Dennoch unterscheidet sich Winget in einem wichtigen Punkt: Es stellt die Programme in der Regel nicht selbst bereit, sondern nutzt die offiziellen Installationsdateien der jeweiligen Softwarehersteller. Dadurch bleibt die Verantwortung für die eigentliche Software beim Hersteller, während Winget die Verwaltung übernimmt.

Um zu verstehen, warum Winget zuverlässig und sicher arbeitet, lohnt sich ein Blick auf die einzelnen Komponenten.


Die Architektur im Überblick

Eine typische Installation durchläuft mehrere Stationen:

Benutzer
    │
    ▼
Winget Client
    │
    ▼
Paketquelle (Source)
    │
    ▼
Manifest
    │
    ▼
Download der Originaldatei
    │
    ▼
Hash-Prüfung
    │
    ▼
Installer starten
    │
    ▼
Installation

Jede dieser Komponenten erfüllt eine klar definierte Aufgabe.


Der Winget Client

Der Winget Client ist das eigentliche Programm, das Sie über die Eingabeaufforderung, PowerShell oder das Windows Terminal verwenden.

Beispiele:

winget search firefox
winget install Mozilla.Firefox
winget upgrade --all

Der Client übernimmt unter anderem folgende Aufgaben:

  • Befehle entgegennehmen
  • Paketquellen abfragen
  • Manifeste auswerten
  • Downloads starten
  • Prüfsummen kontrollieren
  • Installer ausführen
  • Fehler protokollieren

Der Client bildet damit die zentrale Steuerinstanz des gesamten Systems.


Sources – Die Paketquellen

Winget arbeitet mit sogenannten Sources.

Eine Source ist eine Paketquelle, aus der Informationen über verfügbare Software bezogen werden.

Standardmäßig ist bereits die offizielle Microsoft-Quelle eingerichtet.

Vorhandene Quellen anzeigen:

winget source list

Beispielausgabe:

Name      Argument
-------------------------
winget    https://...
msstore   https://...

Je nach Konfiguration können weitere Quellen hinzugefügt werden.

Sources enthalten jedoch keine Programme selbst, sondern lediglich Informationen über die verfügbaren Pakete.


Repositories

Eine Source verweist auf ein Repository.

Ein Repository enthält tausende sogenannte Paketmanifeste.

Das offizielle Winget-Repository umfasst inzwischen mehrere tausend Anwendungen aus unterschiedlichsten Kategorien.

Dazu gehören beispielsweise:

  • Browser
  • Office-Anwendungen
  • Multimedia
  • Entwicklerwerkzeuge
  • Virtualisierung
  • Datenbanken
  • Sicherheitssoftware
  • Netzwerktools

Das Repository wird kontinuierlich erweitert und aktualisiert.


Manifeste

Das Herzstück von Winget sind die Manifeste.

Ein Manifest beschreibt ein Softwarepaket vollständig.

Typischerweise enthält es:

  • Paketname
  • Paket-ID
  • Hersteller
  • Version
  • Beschreibung
  • Lizenz
  • Homepage
  • Download-URL
  • Prüfsumme (SHA-256)
  • Installer-Typ
  • Unterstützte Architekturen
  • Silent-Parameter
  • Mindestbetriebssystem

Ein stark vereinfachtes Beispiel:

PackageIdentifier: Mozilla.Firefox
PackageVersion: 141.0
InstallerType: exe
InstallerUrl: https://download.mozilla.org/...
InstallerSha256: A34F...

Das Manifest dient als Bauplan für die gesamte Installation.


Installer

Winget installiert Programme nicht selbst.

Stattdessen nutzt es die Originalinstaller der Hersteller.

Unterstützt werden unter anderem:

  • EXE
  • MSI
  • MSIX
  • MSIXBundle
  • APPX
  • APPXBundle
  • ZIP (je nach Paket)

Der Vorteil:

Die Installation entspricht exakt der offiziellen Installation des Herstellers.

Winget übernimmt lediglich die Steuerung.


Der Downloadprozess

Der eigentliche Installationsvorgang läuft in mehreren Schritten ab.

1. Paket suchen

Der Benutzer fordert eine Installation an.

winget install Mozilla.Firefox

2. Manifest laden

Winget lädt das passende Manifest aus der Paketquelle.


3. Download-Adresse auslesen

Aus dem Manifest wird die Download-URL ermittelt.


4. Installer herunterladen

Nun wird der Originalinstaller direkt vom Hersteller heruntergeladen.

Nicht von Microsoft.


5. Hash prüfen

Vor der Installation überprüft Winget die heruntergeladene Datei.


6. Installation starten

Erst danach wird der Installer ausgeführt.


7. Rückmeldung

Nach Abschluss informiert Winget über Erfolg oder Fehler.


Die Hash-Prüfung

Ein besonders wichtiger Sicherheitsmechanismus ist die Hash-Prüfung.

Jede Datei besitzt einen eindeutigen Fingerabdruck.

Meist wird hierfür ein SHA-256-Hash verwendet.

Vor der Installation berechnet Winget den Hash der heruntergeladenen Datei und vergleicht ihn mit dem im Manifest hinterlegten Wert.

Stimmen beide Werte überein:

  • Datei unverändert
  • Download erfolgreich
  • Installation wird gestartet

Unterscheiden sich die Werte:

  • Installation wird abgebrochen
  • Sicherheitswarnung erscheint
  • Keine Ausführung der Datei

Dadurch wird verhindert, dass manipulierte oder beschädigte Installationsdateien ausgeführt werden.


Die eigentliche Installation

Nachdem alle Prüfungen erfolgreich abgeschlossen wurden, startet Winget den Installer.

Je nach Paket erfolgt die Installation:

  • interaktiv
  • unbeaufsichtigt (Silent)
  • mit benutzerdefinierten Parametern
  • mit Administratorrechten
  • für den aktuellen Benutzer
  • systemweit

Die dafür benötigten Optionen stammen ebenfalls aus dem Manifest.


Rollback

Ein klassisches Rollback wie bei einigen Linux-Paketmanagern bietet Winget derzeit nicht.

Das bedeutet:

Wird eine Installation unterbrochen oder schlägt sie fehl, hängt das Verhalten vom verwendeten Installer ab.

Einige Installer:

  • entfernen bereits kopierte Dateien
  • setzen Änderungen zurück
  • führen eigene Rollback-Routinen aus

Andere Installer besitzen diese Funktion hingegen nicht.

Winget selbst verwaltet keine Snapshots des Systems.

Wer umfangreiche Änderungen an produktiven Systemen plant, sollte daher vorab geeignete Sicherungsmaßnahmen treffen, etwa über Systemwiederherstellungspunkte oder Images.


Das Sicherheitsmodell

Microsoft hat Winget mit mehreren Sicherheitsmechanismen ausgestattet.

Offene Manifeste

Alle Manifeste sind öffentlich einsehbar und werden über das offizielle Repository verwaltet.


Code Reviews

Neue Pakete werden vor der Aufnahme überprüft.

Dadurch sinkt das Risiko fehlerhafter oder manipulierter Einträge.


Prüfsummen

Jeder Download wird anhand des hinterlegten SHA-256-Hashes überprüft.


Originalquellen

Die Installationsdateien stammen in der Regel direkt von den Herstellern.


HTTPS

Downloads erfolgen üblicherweise verschlüsselt über HTTPS.


Signierte Installer

Viele Hersteller signieren ihre Installationsprogramme digital.

Windows überprüft diese Signaturen zusätzlich.


Administratorrechte

Programme werden nur mit den erforderlichen Berechtigungen installiert.


Transparenz

Da Winget Open Source ist, kann der Quellcode von jedem eingesehen und überprüft werden.


Vorteile dieser Architektur

Die Architektur von Winget bietet zahlreiche Vorteile:

  • Klare Trennung zwischen Verwaltung und Installation
  • Originalsoftware der Hersteller
  • Hohe Sicherheit durch Hash-Prüfung
  • Automatische Aktualisierung der Paketinformationen
  • Einheitliche Verwaltung
  • Gute Erweiterbarkeit
  • Unterstützung unterschiedlicher Installer
  • Einfache Automatisierung
  • Hohe Transparenz

Dadurch eignet sich Winget sowohl für einzelne PCs als auch für große Unternehmensumgebungen.


Architektur in der Praxis

Eine typische Installation von Visual Studio Code sieht intern beispielsweise so aus:

  1. Benutzer startet winget install Microsoft.VisualStudioCode.
  2. Winget durchsucht die Paketquellen.
  3. Das passende Manifest wird geladen.
  4. Die Download-Adresse des offiziellen Installers wird ermittelt.
  5. Die Installationsdatei wird direkt von Microsoft heruntergeladen.
  6. Winget überprüft den SHA-256-Hash.
  7. Der Installer wird mit den im Manifest definierten Parametern gestartet.
  8. Nach erfolgreicher Installation meldet Winget den Abschluss.

Für den Benutzer besteht der gesamte Vorgang aus nur einem einzigen Befehl.


Die Architektur von Winget verbindet eine einfache Bedienung mit einer durchdachten technischen Grundlage. Statt Programme selbst bereitzustellen, verwaltet Winget deren Metadaten, lädt die Originalinstaller der Hersteller herunter und überprüft diese vor der Ausführung auf ihre Integrität. Paketquellen, Repositories, Manifeste und Hash-Prüfungen greifen dabei nahtlos ineinander und sorgen für eine sichere sowie nachvollziehbare Softwareverwaltung.

Gerade diese Trennung zwischen Verwaltung und eigentlicher Installation macht Winget flexibel, transparent und leicht erweiterbar. Sie bildet die Grundlage für alle weiteren Funktionen – von automatisierten Installationen bis hin zur zentralen Softwareverwaltung in Unternehmen.