Die manuelle Installation von Programmen unter Windows gehört nach wie vor zum Standardvorgehen vieler Anwender: Software wird über Webseiten heruntergeladen, Setupdateien per Doppelklick ausgeführt und während der Installation zusätzliche Optionen, Werbeangebote oder Lizenzbedingungen bestätigt. Für einzelne Installationen ist das in der Regel unproblematisch. Bei mehreren Geräten oder wiederholten Einrichtungsvorgängen kann dieser Prozess jedoch zeitaufwendig, unübersichtlich und potenziell fehleranfällig werden.

An dieser Stelle setzt der Windows-Paketmanager winget an: Er ermöglicht es, Programme über die Kommandozeile zu suchen, zu installieren, zu aktualisieren oder zu entfernen – automatisiert, skriptfähig und ohne grafische Installationsdialoge. Für viele Anwender, die regelmäßig Systeme konfigurieren oder sich eine effiziente und nachvollziehbare Arbeitsweise wünschen, stellt winget
eine praktische Ergänzung zur klassischen Softwareverwaltung dar.
Inhalt
- 1. Was ist winget?
- 2. Systemvoraussetzungen für die Nutzung von winget
- 3. Grundstruktur der Befehle und Übersicht
- 4. Vorteile der Nutzung von winget im Alltag
- 5. Die wichtigsten winget-Befehle
- 6. Tabelle: Windows-Programme mit den jeweiligen winget-Installationsbefehlen
- 7. Erweiterte Suchfunktionen: Präzision statt Namensähnlichkeit
- 8. Versionen gezielt installieren – soweit verfügbar
- 9. Programme mit PowerShell automatisiert installieren
- 10. Paket-Updates automatisieren
- 11. Fehlerquellen erkennen und beheben
- 12. Verwaltung zusätzlicher Quellen (Repositories)
- 13. Benutzerdefinierte Konfigurationen: settings.json
- 14. Systemzustände deklarativ definieren mit winget configuration
- 15. Aufbau einer winget configuration-Datei
- 16. Backup und Wiederherstellung installierter Pakete
- 17. Vergleich: winget vs. Chocolatey vs. Scoop
- 18. Best Practices für den IT-Support
- 19. Weiterführende Artikel / Links
1. Was ist winget?
winget ist der offizielle Paketmanager von Microsoft für Windows 10 und Windows 11. Er wird im Rahmen des Open-Source-Projekts Windows Package Manager CLI entwickelt und gepflegt. Ziel ist es, eine Möglichkeit bereitzustellen, Software installations-, update- und entfernbar über die Befehlszeile zu verwalten – vergleichbar mit Paketmanagern unter Linux.
Die wichtigsten Eigenschaften:
- Zugriff auf ein zentrales Repository mit tausenden Anwendungen
- Automatisierte Installation und Deinstallation von Softwarepaketen
- Skriptfähigkeit, z. B. für PowerShell-Skripte oder Deployment-Prozesse
- Optionale stille Installationen ohne Benutzerinteraktion
- Versionsauswahl für bestimmte Anwendungen (soweit unterstützt)
Seit Windows 11 ist winget standardmäßig vorinstalliert. Unter Windows 10 ist eine Nachinstallation über den Microsoft Store möglich.
2. Systemvoraussetzungen für die Nutzung von winget
Komponente | Voraussetzung |
---|---|
Betriebssystem | Windows 10 Version 1809 (Build 17763) oder neuer |
App Installer | Version 1.16 oder höher (über Microsoft Store oder GitHub) |
Administratorrechte | Für viele Installationen erforderlich |
Internetzugang | Für Paketquellenzugriff und Downloads |
PowerShell oder Eingabeaufforderung | Erforderlich zur Ausführung der Befehle |
Prüfung der Verfügbarkeit
Um zu prüfen, ob winget auf Ihrem System bereits verfügbar ist, geben Sie in einer PowerShell-Sitzung folgenden Befehl ein:
winget --version
Wird eine Versionsnummer ausgegeben, ist der Paketmanager installiert und einsatzbereit.
Installation (falls nicht vorhanden)
Falls winget
nicht installiert ist, installieren Sie über den Microsoft Store die Anwendung App Installer:
- Öffnen Sie den Microsoft Store
- Suchen Sie nach App Installer
- Klicken Sie auf Installieren oder Aktualisieren
Alternativ lässt sich die aktuelle Version auch über GitHub beziehen:
👉 https://github.com/microsoft/winget-cli/releases
3. Grundstruktur der Befehle und Übersicht
Die Verwendung von winget
erfolgt über eine einfache Befehlsstruktur nach dem Schema:
winget <befehl> [paketname oder --id=paket-id] [optionen]
Übersicht der wichtigsten Basisbefehle
Befehl | Beschreibung |
---|---|
winget search <name> | Sucht nach verfügbaren Paketen im Repository |
winget install <name> | Installiert eine Anwendung |
winget uninstall <name> | Deinstalliert ein Programm |
winget list | Zeigt installierte Programme an |
winget upgrade | Listet Programme mit verfügbaren Updates |
winget upgrade --all | Aktualisiert alle installierbaren Programme automatisch |
winget show <name> | Zeigt Paketdetails, Quelle, Versionen und Installationsart |
winget source list | Zeigt konfigurierte Paketquellen |
winget settings | Öffnet Konfigurationsdatei (JSON) zur Feinjustierung |
4. Vorteile der Nutzung von winget im Alltag
winget
ist kein Muss für den regulären Windows-Betrieb, kann aber in vielen Szenarien den Aufwand reduzieren – insbesondere bei:
- Mehrfachinstallationen auf neuen Geräten
- Wiederherstellung nach System-Reset oder Formatierung
- Wartung von PCs im Familien- oder Kleinunternehmensumfeld
- Schulung, Lehre oder IT-Administration mit standardisierten Softwareumgebungen
Kriterium | Klassische Installation | winget-Verfahren |
---|---|---|
Installationsdauer | Hoch bei mehreren Programmen | Niedrig durch Batch-Installationen |
Wiederholbarkeit | Manuell | Skriptgesteuert und reproduzierbar |
Fehleranfälligkeit | Klickfehler, Zusatzsoftware | Gering durch standardisierte Befehle |
Update-Management | Selbstständig notwendig | Automatisch über upgrade --all möglich |
Kontrolle über Versionen | Eingeschränkt | Selektiv installierbar (wenn verfügbar) |
IT-Skriptintegration | Kaum möglich | Volle PowerShell-Kompatibilität |
5. Die wichtigsten winget-Befehle
Installation eines einzelnen Programms
winget install --id=VideoLAN.VLC
Installiert den VLC Media Player direkt aus dem offiziellen Repository.
Installation mehrerer Programme in Folge
winget install --id=Google.Chrome
winget install --id=Notepad++.Notepad++
winget install --id=7zip.7zip
Die Befehle lassen sich auch in ein PowerShell-Skript integrieren, um eine vollständige Umgebung mit wenigen Zeilen aufzubauen.
Automatische Updates durchführen
winget upgrade --all
Dieser Befehl aktualisiert alle installierten Programme, für die neue Versionen verfügbar sind.
6. Tabelle: Windows-Programme mit den jeweiligen winget-Installationsbefehlen
Wenn Sie ein neues System aufsetzen oder bestehende Arbeitsumgebungen schnell und effizient rekonstruieren möchten, ist eine gut gepflegte Softwareliste ein entscheidender Vorteil. Statt Installationsprogramme einzeln zu suchen und manuell auszuführen, können Sie mit winget
systematisch eine definierte Programmauswahl installieren – skriptgesteuert, reproduzierbar und wartbar.
Anwendungshinweis: Alle Befehle sind sofort in einer PowerShell oder Eingabeaufforderung verwendbar. Sie benötigen lediglich eine funktionsfähige winget
-Installation
Tabelle: Auswahl einiger Windows-Programme mit den jeweiligen winget-Installationsbefehlen
Nr. | Programmname | Programmart | Winget-ID | PowerShell-Befehl |
---|---|---|---|---|
1 | Google Chrome | Webbrowser | Google.Chrome | winget install --id=Google.Chrome -e |
2 | Mozilla Firefox | Webbrowser | Mozilla.Firefox | winget install --id=Mozilla.Firefox -e |
3 | Microsoft Edge | Webbrowser | Microsoft.Edge | winget install --id=Microsoft.Edge -e |
4 | VLC Media Player | Mediaplayer | VideoLAN.VLC | winget install --id=VideoLAN.VLC -e |
5 | 7-Zip | Dateiarchivierung | 7zip.7zip | winget install --id=7zip.7zip -e |
6 | Notepad++ | Quelltexteditor | Notepad++.Notepad++ | winget install --id=Notepad++.Notepad++ -e |
7 | Visual Studio Code | Quelltexteditor & IDE | Microsoft.VisualStudioCode | winget install --id=Microsoft.VisualStudioCode -e |
8 | Git | Versionsverwaltung | Git.Git | winget install --id=Git.Git -e |
9 | Python 3 | Programmiersprache | Python.Python.3.11 | winget install --id=Python.Python.3.11 -e |
10 | LibreOffice | Office-Suite | TheDocumentFoundation.LibreOffice | winget install --id=TheDocumentFoundation.LibreOffice -e |
11 | Microsoft Teams | Kollaboration & Videokonferenz | Microsoft.Teams | winget install --id=Microsoft.Teams -e |
12 | Zoom | Videokonferenz-Software | Zoom.Zoom | winget install --id=Zoom.Zoom -e |
13 | Discord | Sprach-/Textchat | Discord.Discord | winget install --id=Discord.Discord -e |
14 | OBS Studio | Videostreaming & Aufnahme | OBSProject.OBSStudio | winget install --id=OBSProject.OBSStudio -e |
15 | GIMP | Bildbearbeitung | GIMP.GIMP | winget install --id=GIMP.GIMP -e |
16 | Spotify | Musikstreaming | Spotify.Spotify | winget install --id=Spotify.Spotify -e |
17 | KeePass | Passwortmanager | DominikReichl.KeePass | winget install --id=DominikReichl.KeePass -e |
18 | Bitwarden | Passwortmanager | Bitwarden.Bitwarden | winget install --id=Bitwarden.Bitwarden -e |
19 | CCleaner | Systemoptimierung | Piriform.CCleaner | winget install --id=Piriform.CCleaner -e |
20 | Malwarebytes | Antimalware-Software | Malwarebytes.Malwarebytes | winget install --id=Malwarebytes.Malwarebytes -e |
Weitere Pakete finden Sie z.B. auf winstall.app oder winget.run
7. Erweiterte Suchfunktionen: Präzision statt Namensähnlichkeit
Mit der Basisfunktion winget search <Begriff>
erhalten Sie eine Liste aller Pakete, deren ID oder Name den gesuchten Begriff enthält. Gerade bei ähnlich benannten Tools oder Open-Source-Forks ist das allerdings nicht immer eindeutig.
Beispiel
winget search chrome
Dieser Befehl liefert neben Google Chrome auch Einträge wie „Chrome Remote Desktop Host“ oder „Chromium“.
Besser: exakte Suche mit Parametern
Befehl | Beschreibung |
---|---|
--id=<ID> | Sucht ausschließlich nach der eindeutigen Paket-ID |
--name="<exakter Name>" | Sucht nur nach exakten Bezeichnungen |
--exact | Erfordert exakte Übereinstimmung |
winget search --id=Google.Chrome
Damit vermeiden Sie Fehlzuweisungen und erhalten nur das gewünschte Paket.
8. Versionen gezielt installieren – soweit verfügbar
Einige Programme unterstützen die Installation älterer oder spezifischer Versionen. Dies ist insbesondere in folgenden Fällen nützlich:
Beispiel:
- Kompatibilität mit älteren Plugins
- Regressionstests in der Softwareentwicklung
- Gezielter Verzicht auf neue Funktionen
winget install --id=Git.Git --version=2.39.0
Hinweis: Nicht alle Pakete im winget-Repository enthalten versionierte Manifeste. In solchen Fällen installiert winget
automatisch die jeweils neueste stabile Version.
Prüfung der verfügbaren Versionen
winget show --id=Git.Git
9. Programme mit PowerShell automatisiert installieren
Gerade für IT-affine Anwender, Techniker und Administratoren liegt der wahre Vorteil von winget in der Möglichkeit, mehrere Programme über ein Skript zu installieren – z. B. direkt nach einer Windows-Neuinstallation.
Beispiel: PowerShell-Installationsskript
$programme = @(
"Google.Chrome",
"Mozilla.Firefox",
"7zip.7zip",
"Notepad++.Notepad++",
"VideoLAN.VLC",
"TheDocumentFoundation.LibreOffice"
)
foreach ($p in $programme) {
winget install --id=$p --accept-package-agreements --accept-source-agreements --silent
}
Das Skript lässt sich erweitern um Logging, Fehlerbehandlung oder Benutzerabfragen.
10. Paket-Updates automatisieren
Alle verfügbaren Updates anzeigen
winget upgrade
Alles mit einem Befehl aktualisieren
winget upgrade --all
Nur ein bestimmtes Paket aktualisieren
winget upgrade --id=Notepad++.Notepad++
Wichtig: Die Aktualisierbarkeit hängt vom Maintainer des Pakets und dessen Update-Pflege ab. Bei manchen Anwendungen müssen Updates manuell angestoßen werden oder werden nur in neuen Manifests veröffentlicht.
11. Fehlerquellen erkennen und beheben
Beim Arbeiten mit winget können verschiedene Fehlertypen auftreten. Die häufigsten Ursachen und Lösungsansätze:
Problemtyp | Mögliche Ursache | Lösung |
---|---|---|
Paket wird nicht gefunden | Schreibfehler oder mehrere gleichnamige Pakete | winget search und dann exakte --id verwenden |
Installation bricht ab | Paket benötigt Benutzerinteraktion | --silent ggf. nicht unterstützt – Alternativpaket prüfen |
Download schlägt fehl | Netzwerkprobleme, blockierte Quelle, Proxy nötig | Internetzugang prüfen, ggf. alternative Quelle konfigurieren |
Versionsparameter wird ignoriert | Version nicht im Manifest vorhanden | winget show zur Versionsprüfung nutzen |
Fehlercode 0x8a15000f | Paket kann nicht still installiert werden | Nur interaktive Installation oder manuelle Lösung möglich |
12. Verwaltung zusätzlicher Quellen (Repositories)
Standardmäßig verwendet winget das Microsoft Community Repository (winget-pkgs
). Es ist jedoch möglich, weitere Quellen hinzuzufügen – z. B. interne Unternehmensquellen oder private Paketarchive.
Quellen anzeigen
winget source list
Neue Quelle hinzufügen
winget source add --name=MeinRepo --arg=https://example.org/myrepo.json --type=Microsoft.Rest
Quelle entfernen
winget source remove --name=MeinRepo
Quelle aktualisieren
winget source update
13. Benutzerdefinierte Konfigurationen: settings.json
Winget verwendet eine Konfigurationsdatei im JSON-Format, über die z. B. visuelle Einstellungen oder experimentelle Funktionen angepasst werden können.
Pfad zur Datei:
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Beispielinhalt:
{
"visual": {
"progressBar": "accent"
},
"experimentalFeatures": {
"configuration": true
},
"network": {
"downloader": "default"
}
}
14. Systemzustände deklarativ definieren mit winget configuration
Mit dem Befehl winget configure
stellt Microsoft seit Version 1.4 (App Installer) ein neues Feature bereit, das weit über einfache Einzelbefehle hinausgeht: Es erlaubt Ihnen, ganze Systemzustände in einer YAML-Datei zu beschreiben, die dann automatisiert abgearbeitet wird – vergleichbar mit Werkzeugen wie Ansible oder PowerShell DSC.
Dies ist besonders interessant für:
- automatisierte Einrichtung neuer Geräte
- Deployment vordefinierter Software-Pakete
- standardisierte Arbeitsplatzkonfigurationen
- Compliance-gerechte IT-Umgebungen
15. Aufbau einer winget configuration
-Datei
Beispiel: Einfache Konfiguration
$schema: https://aka.ms/configuration-dsc-schema/0.2
properties:
configurationVersion: 1.0.0
resources:
- resource: Microsoft.WinGet.DSC.Package
id: Git.Git
parameters:
action: install
- resource: Microsoft.WinGet.DSC.Package
id: Mozilla.Firefox
parameters:
action: install
- resource: Microsoft.WinGet.DSC.File
parameters:
path: "C:\\temp\\hinweis.txt"
contents: "Diese Datei wurde per Konfiguration erstellt"
ensure: present
- resource: Microsoft.WinGet.DSC.Registry
parameters:
key: "HKCU:\\Software\\MeinTool"
name: "Startwert"
value: "1"
ensure: present
Anwendung der Konfiguration
winget configure --file .\meinsetup.yaml
16. Backup und Wiederherstellung installierter Pakete
Wenn Sie regelmäßig Systeme einrichten oder synchronisieren, ist es sinnvoll, die installierten Pakete zu exportieren – entweder zur Dokumentation oder für den Wiederaufbau.
Liste installierter Pakete exportieren
winget list | ForEach-Object {
($_ -split '\s{2,}')[0]
} | Out-File "C:\InstalliertePakete.txt" -Encoding UTF8
Neuinstallation auf anderem System
$pakete = Get-Content "C:\InstalliertePakete.txt"
foreach ($pkg in $pakete) {
winget install --id=$pkg --accept-package-agreements --accept-source-agreements --silent
}
17. Vergleich: winget vs. Chocolatey vs. Scoop
Merkmal | winget | Chocolatey | Scoop |
---|---|---|---|
Quelle | Microsoft + Community | Community (moderiert) | GitHub + Buckets |
Silent-Installation | Ja (wenn Paket unterstützt) | Ja | Ja |
PowerShell-Integration | Ja | Ja | Ja |
GUI-Frontend verfügbar | Nein (nur Drittanbieter) | Ja (Chocolatey GUI) | Nein |
Versionsauswahl | Teilweise | Sehr gut | Sehr gut |
Portables unterstützt | Eingeschränkt | Möglich | Schwerpunkt |
Offiziell von Microsoft | Ja | Nein | Nein |
Fazit: Für klassische Desktop-Anwender und Administratoren in Windows-Umgebungen bietet winget
den besten Kompromiss aus Sicherheit, Integrationsfähigkeit und Wartbarkeit – insbesondere dank nativer Unterstützung, GUI-freier Installation und YAML-basiertem Provisioning.
18. Best Practices für den IT-Support
1. Erstellen Sie eigene Setup-Skripte
Verwenden Sie winget
-Skripte für Standardarbeitsplätze, z. B.:
- Basissoftware: Browser, PDF, Office, Tools
- Diagnosewerkzeuge: CPU-Z, HWMonitor, CrystalDiskInfo
- Fernwartung: TeamViewer, AnyDesk, Zoom
2. Prüfen Sie Installationen regelmäßig
winget upgrade --all
Dieser Befehl eignet sich für die monatliche Wartung oder zum Einbinden in Aufgabenplaner (Task Scheduler).
3. Verwenden Sie eine zentrale Softwareliste
Erstellen Sie ein Repository mit genehmigten Softwarepaketen (z. B. im Unternehmen) und nutzen Sie es via winget source add
.
4. Automatisieren Sie nach Kategorien
Beispiel: Installieren Sie Medientools gebündelt:
$tools = @("VideoLAN.VLC", "GIMP.GIMP", "Audacity.Audacity", "HandBrake.HandBrake")
foreach ($tool in $tools) {
winget install --id=$tool --accept-package-agreements --silent
}
19. Weiterführende Artikel / Links
- Offizielle Microsoft-Dokumentation zum Windows Package Manager (winget)
https://learn.microsoft.com/de-de/windows/package-manager/
▶ Umfangreiche offizielle Dokumentation von Microsoft zu allen Funktionen vonwinget
, inkl. Befehlsreferenz, YAML-Schema und „configuration“-Modul.
- winget-cli GitHub Repository (Microsoft)
https://github.com/microsoft/winget-cli
▶ Quelle des offiziellen Open-Source-Codes vonwinget
. Enthält Issues, Releases, Roadmap und Diskussionsforen – ideal für Fortgeschrittene und Entwickler.
- winget-pkgs GitHub Repository: Das zentrale Community-Repository aller Pakete https://github.com/microsoft/winget-pkgs
▶ Enthält alle Paketdefinitionen (Manifeste) für diewinget
-Community. Hilfreich für eigene Paketbeiträge oder zur Analyse von Paketversionen.
- Vergleich: winget vs. Chocolatey vs. Scoop (von „ComputerBase“)
https://www.computerbase.de/2022-07/windows-paketmanager-winget-chocolatey-scoop-vergleich/
▶ Gut recherchierter Artikel mit praxisnahem Vergleich von drei Paketmanagern – inkl. Vor- und Nachteilen, Skriptintegration und Anwendungsbeispielen.
- Artikel von BleepingComputer: Automating Windows Installations using winget
https://www.bleepingcomputer.com/news/microsoft/how-to-automate-windows-10-and-11-app-installations-with-winget/
▶ Einführung für fortgeschrittene Nutzer in die automatisierte Softwareinstallation perwinget
, mit Schritt-für-Schritt-Anleitung und YAML-Beispielen.
Werbung
























(**) UVP: Unverbindliche Preisempfehlung
Preise inkl. MwSt., zzgl. Versandkosten