WinGet Welche Befehle sind notwendig

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smileys
:) ;) :smile: :lol: :hihi: :D :rofl: :muahah: :( :pff: :kopfstreichel: :ohno: :betruebt: :heulen: :kopfkratz: :duckundweg: :o :? :oops: :psst: :sauer: :-P :daumenrunter: :daumen: :dankeschoen: :thx: :dafür: :gähn:
Mehr Smileys anzeigen

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: WinGet Welche Befehle sind notwendig

Re: WinGet Welche Befehle sind notwendig

von Holgi » 26.07.2026, 12:00

es kommt schon man darauf an, welche Windows Version du einsetzt.
In den neuesten Windows Versionen ist es eigentlich schon vorinstalliert. Nach einem ersten Update sollte es von sich aus funktionieren.
Bei älteren Windows Versionen kannst du es ganz leicht nachinstallieren:
hier mein Script dazu:

Code: Alles auswählen

@Echo off
chcp 1252 > nul
setlocal EnableExtensions EnableDelayedExpansion
:: =========================================================
:: Winget prüfen + ggf. installieren (ohne Script-Abbruch)
:: =========================================================
set "WINGET_OK=0"

echo Prüfe Winget...
call :CheckWinget

if "!WINGET_OK!"=="0" (
    echo Winget ist nicht verfügbar. Versuche Installation...
    call :InstallWinget
    if "!WINGET_OK!"=="1" (
        echo.
    ) else (
        echo Winget-Installation fehlgeschlagen. Winget-Schritte werden übersprungen.
    )
) else (
    echo Winget ist verfügbar
    echo Version:
    winget -v 2>nul
)

goto :afterWingetBootstrap


:CheckWinget
set "WINGET_OK=0"

:: Existiert winget?
where winget >nul 2>nul || goto :eof

:: Funktioniert winget wirklich?
winget list --accept-source-agreements >nul 2>nul || goto :eof

set "WINGET_OK=1"
goto :eof


:InstallWinget
rem Dynamische Installation von Winget und Abhängigkeiten
@echo off
chcp 1252 >nul
setlocal enabledelayedexpansion
mkdir "%LocalAppData%\Temp" >nul 2>&1

:: Temporäre Dateien löschen falls vorhanden
set "SCRIPT_DIR=%~dp0"
del "%SCRIPT_DIR%*.url.txt" 2>nul
set "GITHUB_API=https://api.github.com/repos/microsoft/winget-cli/releases/latest"

echo Rufe neueste Winget-Version von GitHub ab...

powershell -NoProfile -ExecutionPolicy Bypass -Command ^
  "$response = Invoke-RestMethod '%GITHUB_API%';" ^
  "$deps = $response.assets | Where-Object { $_.name -like '*DesktopAppInstaller_Dependencies.zip' } | Select-Object -ExpandProperty browser_download_url;" ^
  "Write-Output $deps" > "%SCRIPT_DIR%dependencies_url.txt"

powershell -NoProfile -ExecutionPolicy Bypass -Command ^
  "$response = Invoke-RestMethod '%GITHUB_API%';" ^
  "$winget = $response.assets | Where-Object { $_.name -like '*Microsoft.DesktopAppInstaller_*.msixbundle' } | Select-Object -ExpandProperty browser_download_url;" ^
  "Write-Output $winget" > "%SCRIPT_DIR%winget_url.txt"

set /p DEPENDENCIES_URL=<"%SCRIPT_DIR%dependencies_url.txt"
set /p WINGET_URL=<"%SCRIPT_DIR%winget_url.txt"

if "%DEPENDENCIES_URL%"=="" (
  echo Fehler: Konnte keine Download-URL für Abhängigkeiten finden!
timeout /t 5 >nul
  goto :InstallFailed
)
if "%WINGET_URL%"=="" (
  echo Fehler: Konnte keine Download-URL für Winget finden!
timeout /t 5 >nul
  goto :InstallFailed
)

set "DEPENDENCIES_ZIP=%SCRIPT_DIR%DesktopAppInstaller_Dependencies.zip"
set "DEPENDENCIES_FOLDER=%SCRIPT_DIR%DesktopAppInstaller_Dependencies"
set "WINGET_INSTALLER=%SCRIPT_DIR%MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

echo Lade Abhängigkeiten herunter...
powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-BitsTransfer -Source '!DEPENDENCIES_URL!' -Destination '!DEPENDENCIES_ZIP!'" >nul 2>nul
powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-BitsTransfer -Source '!WINGET_URL!' -Destination '!WINGET_INSTALLER!'" >nul 2>nul

if not exist "%DEPENDENCIES_ZIP%" (
  echo Fehler: Download der Abhängigkeiten fehlgeschlagen!
timeout /t 5 >nul
  goto :InstallFailed
)
if not exist "%WINGET_INSTALLER%" (
  echo Fehler: Download von Winget fehlgeschlagen!
timeout /t 5 >nul
  goto :InstallFailed
)

if not exist "%DEPENDENCIES_FOLDER%" mkdir "%DEPENDENCIES_FOLDER%" >nul 2>&1

echo Entpacke Abhängigkeiten...
powershell -NoProfile -ExecutionPolicy Bypass -Command "Expand-Archive -Path '!DEPENDENCIES_ZIP!' -DestinationPath '!DEPENDENCIES_FOLDER!' -Force" >nul 2>nul

if exist "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies\x64" (
  move "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies\x64" "%DEPENDENCIES_FOLDER%" >nul 2>nul
  rmdir /s /q "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies" >nul 2>nul
)

if not exist "%DEPENDENCIES_FOLDER%\x64" (
  echo Fehler: x64-Ordner mit AppX-Paketen nicht gefunden!
timeout /t 5 >nul
  goto :InstallFailed
)

echo Installiere Abhängigkeiten...
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
  "$files = Get-ChildItem -Path '%DEPENDENCIES_FOLDER%\x64' -Filter '*.appx' -Recurse;" ^
  "if ($files.Count -eq 0) { exit 1 } else { foreach ($file in $files) { Add-AppXPackage -Path $file.FullName } }" >nul 2>nul

if errorlevel 1 (
    echo Fehler beim Installieren der Abhängigkeiten!
timeout /t 5 >nul
    goto :InstallFailed
)
cls
echo Installiere Winget...
powershell -NoProfile -ExecutionPolicy Bypass -Command "Add-AppXPackage -Path '%WINGET_INSTALLER%'" >nul 2>nul

if errorlevel 1 (
    echo Fehler beim Installieren von Winget!
timeout /t 5 >nul
    goto :InstallFailed
)

:: Aufräumen
del "%SCRIPT_DIR%dependencies_url.txt" "%SCRIPT_DIR%MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle" "%SCRIPT_DIR%winget_url.txt" "%SCRIPT_DIR%*.zip" 2>nul
rmdir /s /q "%SCRIPT_DIR%DesktopAppInstaller_Dependencies" 2>nul

:: Prüfe nach Installation.
:: Die Registrierung des App-Ausführungsalias kann einige Sekunden dauern.
set "WINGET_READY=0"
for /L %%I in (1,1,10) do (
    where winget >nul 2>nul
    if not errorlevel 1 (
        winget --version >nul 2>nul
        if not errorlevel 1 (
            set "WINGET_READY=1"
            goto :WingetReady
        )
    )
    timeout /t 1 /nobreak >nul
)

:WingetReady
if "!WINGET_READY!"=="0" (
    echo Winget wurde installiert, ist im aktuellen Prozess aber noch nicht aufrufbar.
timeout /t 5 >nul
    goto :InstallFailed
)

:: Erfolg!
endlocal & set "WINGET_OK=1"
echo Winget erfolgreich installiert und funktionsfähig.
goto :eof

:InstallFailed
endlocal & set "WINGET_OK=0"
echo Winget-Installation fehlgeschlagen.
timeout /t 5 >nul
goto :eof


:afterWingetBootstrap
:eof

pause
und direkt als Download:
Winget prüfen und ggf. installieren.bat
Winget prüfen und ggf. installieren.zip
herunterladen, entpacken und dann die .bat mit Doppelklick starten.
Wenn fertig, dann eine Konsole öffnen und dort mal "winget" eingeben.
Es sollte dann so aussehen:
Screenshot 2026-07-26 115507.jpg
hier:
viewtopic.php?t=26214&start=45
steht noch etwas mehr dazu.
Die ersten Kommandos in der Konsole sind dann z.B:
winget list
winget upgrade --all
winget search ...
zum installieren dann:
winget install ...
löschen:
winget uninstall ...

Viel Spaß!!

WinGet Welche Befehle sind notwendig

von jkzu7777 » 26.07.2026, 10:47

Hallo im Forum.
Habe bis jetzt nur zugeschaut und teilweise gelesen.
Ich möchte den winget Befehl nutzen und hab auch schon recherchiert im Internet. Bekomme das aber nicht hin,
weil abhängigkeiten fehlen.
Kann mir da jemand helfen oder informationen liefern ?

Nach oben