Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo) [gelöst]

Apps starten nicht, oder lassen sich nicht installieren? Dann stell deine Frage hier.
Benutzeravatar
Holgi
Guru
Guru
Beiträge: 3083
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 390 Mal
Danke erhalten: 503 Mal
Gender:

Re: Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo) [gelöst]

Beitrag von Holgi » 26.02.2025, 14:32

mal wieder etwas verfeinert. 3 verschiedene Downloadmethoden: invoke webrequest (sehr langsam), bitsadmin und Start-BitsTransfer.
Für die aktuelle Version von Winget (aktueller Stand 25.02.2025: v1.10.320):
winget install_invoke webrequest.cmd

Code: Alles auswählen

@Echo off
chcp 1252 >nul 
setlocal enabledelayedexpansion

:: Bestimme das aktuelle Skriptverzeichnis
set "SCRIPT_DIR=%~dp0"

:: Variablen für lokale Dateipfade
set "DEPENDENCIES_ZIP=%SCRIPT_DIR%DesktopAppInstaller_Dependencies.zip"
set "DEPENDENCIES_FOLDER=%SCRIPT_DIR%DesktopAppInstaller_Dependencies"
set "WINGET_INSTALLER=%SCRIPT_DIR%MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

:: Variablen für URLs
set "DEPENDENCIES_URL=https://github.com/microsoft/winget-cli/releases/download/v1.10.320/DesktopAppInstaller_Dependencies.zip"
set "WINGET_URL=https://github.com/microsoft/winget-cli/releases/download/v1.10.320/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

echo Downloade und installiere Abhängigkeiten...

:: Download mit Invoke-WebRequest (PowerShell)
powershell -command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri '!DEPENDENCIES_URL!' -OutFile '!DEPENDENCIES_ZIP!'"
powershell -command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri '!WINGET_URL!' -OutFile '!WINGET_INSTALLER!'"

:: Stelle sicher, dass das Zielverzeichnis existiert
if not exist "%DEPENDENCIES_FOLDER%" mkdir "%DEPENDENCIES_FOLDER%"

:: Entpacken direkt in das Skriptverzeichnis
powershell -command "Expand-Archive -Path '!DEPENDENCIES_ZIP!' -DestinationPath '!SCRIPT_DIR!' -Force"

:: Falls ein doppelter Unterordner entstanden ist, korrigieren
if exist "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies\x64" (
    move "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies\x64" "%DEPENDENCIES_FOLDER%"
    rmdir /s /q "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies"
)

:: Abhängigkeiten installieren
echo Installiere Abhängigkeiten...
powershell -command "Add-AppXPackage -Path '%DEPENDENCIES_FOLDER%\x64\Microsoft.UI.Xaml.2.8_8.2501.31001.0_x64.appx'"
powershell -command "Add-AppXPackage -Path '%DEPENDENCIES_FOLDER%\x64\Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64.appx'"

:: Winget installieren
echo Installiere Winget...
powershell -command "Add-AppXPackage -Path '%WINGET_INSTALLER%'"

echo Installation abgeschlossen.

:: Winget testen
winget list --accept-source-agreements

pause >nul
endlocal
exit /b
winget install_bitsadmin.cmd

Code: Alles auswählen

@Echo off
chcp 1252 >nul 
setlocal enabledelayedexpansion

:: Bestimme das aktuelle Skriptverzeichnis
set "SCRIPT_DIR=%~dp0"

:: Variablen für lokale Dateipfade
set "DEPENDENCIES_ZIP=%SCRIPT_DIR%DesktopAppInstaller_Dependencies.zip"
set "DEPENDENCIES_FOLDER=%SCRIPT_DIR%DesktopAppInstaller_Dependencies"
set "WINGET_INSTALLER=%SCRIPT_DIR%MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

:: Variablen für URLs
set "DEPENDENCIES_URL=https://github.com/microsoft/winget-cli/releases/download/v1.10.320/DesktopAppInstaller_Dependencies.zip"
set "WINGET_URL=https://github.com/microsoft/winget-cli/releases/download/v1.10.320/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

echo Downloade und installiere Abhängigkeiten...

:: Schneller Download mit BITSAdmin
bitsadmin /transfer "Download1" "%DEPENDENCIES_URL%" "%DEPENDENCIES_ZIP%"
bitsadmin /transfer "Download2" "%WINGET_URL%" "%WINGET_INSTALLER%"

:: Stelle sicher, dass das Zielverzeichnis existiert
if not exist "%DEPENDENCIES_FOLDER%" mkdir "%DEPENDENCIES_FOLDER%"

:: Entpacken direkt in das Skriptverzeichnis
powershell -command "Expand-Archive -Path '%DEPENDENCIES_ZIP%' -DestinationPath '%SCRIPT_DIR%' -Force"

:: Falls ein doppelter Unterordner entstanden ist, korrigieren
if exist "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies\x64" (
    move "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies\x64" "%DEPENDENCIES_FOLDER%"
    rmdir /s /q "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies"
)

:: Abhängigkeiten installieren
echo Installiere Abhängigkeiten...
powershell -command "Add-AppXPackage -Path '%DEPENDENCIES_FOLDER%\x64\Microsoft.UI.Xaml.2.8_8.2501.31001.0_x64.appx'"
powershell -command "Add-AppXPackage -Path '%DEPENDENCIES_FOLDER%\x64\Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64.appx'"

:: Winget installieren
echo Installiere Winget...
powershell -command "Add-AppXPackage -Path '%WINGET_INSTALLER%'"

echo Installation abgeschlossen.

:: Winget testen
winget list --accept-source-agreements

pause >nul
endlocal
exit /b
winget install_Start-BitsTransfer.cmd

Code: Alles auswählen

@Echo off
chcp 1252 >nul 
setlocal enabledelayedexpansion

:: Bestimme das aktuelle Skriptverzeichnis
set "SCRIPT_DIR=%~dp0"

:: Variablen für lokale Dateipfade
set "DEPENDENCIES_ZIP=%SCRIPT_DIR%DesktopAppInstaller_Dependencies.zip"
set "DEPENDENCIES_FOLDER=%SCRIPT_DIR%DesktopAppInstaller_Dependencies"
set "WINGET_INSTALLER=%SCRIPT_DIR%MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

:: Variablen für URLs
set "DEPENDENCIES_URL=https://github.com/microsoft/winget-cli/releases/download/v1.10.320/DesktopAppInstaller_Dependencies.zip"
set "WINGET_URL=https://github.com/microsoft/winget-cli/releases/download/v1.10.320/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

echo Downloade und installiere Abhängigkeiten...

:: Schneller Download mit Start-BitsTransfer (PowerShell)
powershell -command "Start-BitsTransfer -Source '!DEPENDENCIES_URL!' -Destination '!DEPENDENCIES_ZIP!'"
powershell -command "Start-BitsTransfer -Source '!WINGET_URL!' -Destination '!WINGET_INSTALLER!'"

:: Stelle sicher, dass das Zielverzeichnis existiert
if not exist "%DEPENDENCIES_FOLDER%" mkdir "%DEPENDENCIES_FOLDER%"

:: Entpacken direkt in das Skriptverzeichnis
powershell -command "Expand-Archive -Path '!DEPENDENCIES_ZIP!' -DestinationPath '!SCRIPT_DIR!' -Force"

:: Falls ein doppelter Unterordner entstanden ist, korrigieren
if exist "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies\x64" (
    move "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies\x64" "%DEPENDENCIES_FOLDER%"
    rmdir /s /q "%SCRIPT_DIR%DesktopAppInstaller_Dependencies\DesktopAppInstaller_Dependencies"
)

:: Abhängigkeiten installieren
echo Installiere Abhängigkeiten...
powershell -command "Add-AppXPackage -Path '%DEPENDENCIES_FOLDER%\x64\Microsoft.UI.Xaml.2.8_8.2501.31001.0_x64.appx'"
powershell -command "Add-AppXPackage -Path '%DEPENDENCIES_FOLDER%\x64\Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64.appx'"

:: Winget installieren
echo Installiere Winget...
powershell -command "Add-AppXPackage -Path '%WINGET_INSTALLER%'"

echo Installation abgeschlossen.

:: Winget testen
winget list --accept-source-agreements

pause >nul
endlocal
exit /b
Die Zeilen in den Windows Editor kloppen und als ANSI speichern (wegen der Umlaute).
Nachteil: das Script muss von Zeit zu Zeit angepasst werden, da dort statische Versionsnummern drin stehen:
https://github.com/microsoft/winget-cli ... /download/ v1.10.320 /DesktopAppInstaller_Dependencies.zip
Die Dependencies ändern sich ebenfalls von Zeit zu Zeit.
Viel Spaß!
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Tante Google

Re: Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo) [gelöst]

Beitrag von Tante Google » 26.02.2025, 14:32


Benutzeravatar
Holgi
Guru
Guru
Beiträge: 3083
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 390 Mal
Danke erhalten: 503 Mal
Gender:

Re: Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo) [gelöst]

Beitrag von Holgi » 26.02.2025, 16:20

für eine dynamische Installation (also immer die letzte aktuelle), unter Verwendung von der GitHub API URL kann das Script so verwendet werden:

Winget Download Start-BitsTransfer Dynamic.cmd

Code: Alles auswählen

@Echo off
rem Dynamische Installation von Winget und Abhängigkeiten
chcp 1252 >nul 
setlocal enabledelayedexpansion

:: Bestimme das aktuelle Skriptverzeichnis
set "SCRIPT_DIR=%~dp0"

:: GitHub API URL
set "GITHUB_API=https://api.github.com/repos/microsoft/winget-cli/releases/latest"

:: Rufe die neuesten Download-Links von GitHub ab und speichere sie in Variablen
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;" ^
    "$winget = $response.assets | Where-Object { $_.name -like '*Microsoft.DesktopAppInstaller_*.msixbundle' } | 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"

:: Lese die URLs aus den Dateien ein
set /p DEPENDENCIES_URL=<"%SCRIPT_DIR%dependencies_url.txt"
set /p WINGET_URL=<"%SCRIPT_DIR%winget_url.txt"

:: Überprüfe, ob URLs korrekt gefunden wurden
if "%DEPENDENCIES_URL%"=="" (
    echo Fehler: Konnte keine Download-URL für Abhängigkeiten finden!
    pause
    exit /b
)
if "%WINGET_URL%"=="" (
    echo Fehler: Konnte keine Download-URL für Winget finden!
    pause
    exit /b
)

:: Lokale Dateipfade setzen
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...

:: Lade die Dateien herunter
powershell -command "Start-BitsTransfer -Source '!DEPENDENCIES_URL!' -Destination '!DEPENDENCIES_ZIP!'"
powershell -command "Start-BitsTransfer -Source '!WINGET_URL!' -Destination '!WINGET_INSTALLER!'"

:: Überprüfe, ob die Dateien existieren
if not exist "%DEPENDENCIES_ZIP%" (
    echo Fehler: Der Download der Abhängigkeiten ist fehlgeschlagen!
    pause
    exit /b
)
if not exist "%WINGET_INSTALLER%" (
    echo Fehler: Der Download von Winget ist fehlgeschlagen!
    pause
    exit /b
)

:: Stelle sicher, dass das Zielverzeichnis existiert
if not exist "%DEPENDENCIES_FOLDER%" mkdir "%DEPENDENCIES_FOLDER%"

:: Entpacken direkt in den gewünschten Ordner
echo Entpacke Abhängigkeiten in %DEPENDENCIES_FOLDER%...
powershell -command "Expand-Archive -Path '!DEPENDENCIES_ZIP!' -DestinationPath '!DEPENDENCIES_FOLDER!' -Force"

:: Falls ein doppelter Unterordner entstanden ist, korrigieren
if exist "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies\x64" (
    move "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies\x64" "%DEPENDENCIES_FOLDER%"
    rmdir /s /q "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies"
)

:: Sicherstellen, dass der x64-Ordner existiert
if not exist "%DEPENDENCIES_FOLDER%\x64" (
    echo Fehler: Der x64-Ordner mit den AppX-Paketen wurde nicht gefunden!
    pause
    exit /b
)

:: Abhängigkeiten installieren
echo Installiere Abhängigkeiten...

powershell -NoProfile -ExecutionPolicy Bypass -Command ^
    "$files = Get-ChildItem -Path '%DEPENDENCIES_FOLDER%\x64' -Filter '*.appx' -Recurse;" ^
    "if ($files.Count -eq 0) { Write-Host 'Fehler: Keine AppX-Abhängigkeiten gefunden!'; exit 1 }" ^
    "else { foreach ($file in $files) { Add-AppXPackage -Path $file.FullName } }"

:: Prüfe, ob die Installation erfolgreich war
if %ERRORLEVEL% NEQ 0 (
    echo Fehler: Die Installation der Abhängigkeiten ist fehlgeschlagen!
    pause
    exit /b
)

:: Winget installieren
echo Installiere Winget...
powershell -command "Add-AppXPackage -Path '%WINGET_INSTALLER%'"

:: Prüfe, ob die Installation erfolgreich war
if %ERRORLEVEL% NEQ 0 (
    echo Fehler: Die Installation von Winget ist fehlgeschlagen!
    pause
    exit /b
)

echo Installation abgeschlossen.

:: Winget testen
winget list --accept-source-agreements

pause
endlocal
exit /b
Zuletzt geändert von Holgi am 26.03.2025, 11:05, insgesamt 1-mal geändert.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
Holgi
Guru
Guru
Beiträge: 3083
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 390 Mal
Danke erhalten: 503 Mal
Gender:

Re: Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo) [gelöst]

Beitrag von Holgi » 01.03.2025, 20:15

hier noch mal eine andere Variante. Angenommen, ihr habt bei Deskmodder gelesen, dass es mal wieder eine neue Version gibt (jetzt hier als Beispiel 1.10.340) s. Kommentar von Tekkie am 01.03.2025, dann könnt ihr die Verson im folgenden Script 1X eintragen (set ver=v1.10.340) und dann winget mit dieser Version installieren lassen.
winget Preview install_Start-BitsTransfer.cmd

Code: Alles auswählen

@Echo off
chcp 1252 >nul 
echo  fest vorgegebene Version von Winget mit Abhängigkeiten installieren
echo  Version vor dem Ausführen entsprechend anpassen (set ver=v1.10.340)
pause >nul
setlocal enabledelayedexpansion

:: Bestimme das aktuelle Skriptverzeichnis
set "SCRIPT_DIR=%~dp0"

:: Version manuell setzen
set ver=v1.10.340

:: Statische URLs für den Download
set "DEPENDENCIES_URL=https://github.com/microsoft/winget-cli/releases/download/%ver%/DesktopAppInstaller_Dependencies.zip"
set "WINGET_URL=https://github.com/microsoft/winget-cli/releases/download/%ver%/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

:: Lokale Dateipfade setzen
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...

:: Lade die Dateien herunter
powershell -command "Start-BitsTransfer -Source '!DEPENDENCIES_URL!' -Destination '!DEPENDENCIES_ZIP!'"
powershell -command "Start-BitsTransfer -Source '!WINGET_URL!' -Destination '!WINGET_INSTALLER!'"

:: Überprüfe, ob die Dateien existieren
if not exist "%DEPENDENCIES_ZIP%" (
    echo Fehler: Der Download der Abhängigkeiten ist fehlgeschlagen!
    pause
    exit /b
)
if not exist "%WINGET_INSTALLER%" (
    echo Fehler: Der Download von Winget ist fehlgeschlagen!
    pause
    exit /b
)

:: Stelle sicher, dass das Zielverzeichnis existiert
if not exist "%DEPENDENCIES_FOLDER%" mkdir "%DEPENDENCIES_FOLDER%"

:: Entpacken direkt in den gewünschten Ordner
echo Entpacke Abhängigkeiten in %DEPENDENCIES_FOLDER%...
powershell -command "Expand-Archive -Path '!DEPENDENCIES_ZIP!' -DestinationPath '!DEPENDENCIES_FOLDER!' -Force"

:: Falls ein doppelter Unterordner entstanden ist, korrigieren
if exist "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies\x64" (
    move "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies\x64" "%DEPENDENCIES_FOLDER%"
    rmdir /s /q "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies"
)

:: Sicherstellen, dass der x64-Ordner existiert
if not exist "%DEPENDENCIES_FOLDER%\x64" (
    echo Fehler: Der x64-Ordner mit den AppX-Paketen wurde nicht gefunden!
    pause
    exit /b
)

:: Abhängigkeiten installieren
echo Installiere Abhängigkeiten...

powershell -NoProfile -ExecutionPolicy Bypass -Command ^
    "$files = Get-ChildItem -Path '%DEPENDENCIES_FOLDER%\x64' -Filter '*.appx' -Recurse;" ^
    "if ($files.Count -eq 0) { Write-Host 'Fehler: Keine AppX-Abhängigkeiten gefunden!'; exit 1 }" ^
    "else { foreach ($file in $files) { Add-AppXPackage -Path $file.FullName } }"

:: Prüfe, ob die Installation erfolgreich war
if %ERRORLEVEL% NEQ 0 (
    echo Fehler: Die Installation der Abhängigkeiten ist fehlgeschlagen!
    pause
    exit /b
)

:: Winget installieren
echo Installiere Winget...
powershell -command "Add-AppXPackage -Path '%WINGET_INSTALLER%'"

:: Prüfe, ob die Installation erfolgreich war
if %ERRORLEVEL% NEQ 0 (
    echo Fehler: Die Installation von Winget ist fehlgeschlagen!
    pause
    exit /b
)

echo Installation abgeschlossen.

:: Winget testen
winget list --accept-source-agreements

pause
endlocal
exit /b
Alles in den Editor kloppen und als ANSI abspeichern
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
Holgi
Guru
Guru
Beiträge: 3083
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 390 Mal
Danke erhalten: 503 Mal
Gender:

Re: Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo) [gelöst]

Beitrag von Holgi » 19.03.2025, 18:20

da MS mal wieder etwas geändert hat, hier noch mal ein angepasstes Script.
Nach dem Aufruf kann man die Versionsnummer für Winget eingeben.
z.B. Stand 19.03.2025 die Preview Version 1.11.180 https://www.deskmodder.de/blog/2025/03/ ... rschienen/
Das Script versucht zunächst die Version als Preview herunterzuladen. Sollte es bereits eine Release Version geben, dann nimmt das Script die angegebene Versionsnummer als Release. Die Fehlermeldung im Script ist also "by Design".
winget Preview set ver install_Start-BitsTransfer.cmd

Code: Alles auswählen

@Echo off
rem 19.03.2025
chcp 1252 >nul 
setlocal enabledelayedexpansion

:: Bestimme das aktuelle Skriptverzeichnis
set "SCRIPT_DIR=%~dp0"

cls
@echo off
CLS
Echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Echo.
Echo 		             bitte jetzt die Versionsnummer eingeben z.B. 1.11.180
Echo.
Echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Echo Eingabe der Versionsnummer und mit Enter-Taste fortfahren:
set /p ver=
rem set ver=1.11.180

:: Statische URLs für den Download
set "DEPENDENCIES_URL=https://github.com/microsoft/winget-cli/releases/download/v%ver%-preview/DesktopAppInstaller_Dependencies.zip"
set "WINGET_URL=https://github.com/microsoft/winget-cli/releases/download/v%ver%-preview/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"
set "DEPENDENCIES2_URL=https://github.com/microsoft/winget-cli/releases/download/v%ver%/DesktopAppInstaller_Dependencies.zip"
set "WINGET2_URL=https://github.com/microsoft/winget-cli/releases/download/v%ver%/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

:: Lokale Dateipfade setzen
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...

:: Lade die Dateien herunter
powershell -command "Start-BitsTransfer -Source '!DEPENDENCIES_URL!' -Destination '!DEPENDENCIES_ZIP!'"
powershell -command "Start-BitsTransfer -Source '!WINGET_URL!' -Destination '!WINGET_INSTALLER!'"
powershell -command "Start-BitsTransfer -Source '!DEPENDENCIES2_URL!' -Destination '!DEPENDENCIES_ZIP!'"
powershell -command "Start-BitsTransfer -Source '!WINGET2_URL!' -Destination '!WINGET_INSTALLER!'"

:: Überprüfe, ob die Dateien existieren
if not exist "%DEPENDENCIES_ZIP%" (
    echo Fehler: Der Download der Abhängigkeiten ist fehlgeschlagen!
    pause
    exit /b
)
if not exist "%WINGET_INSTALLER%" (
    echo Fehler: Der Download von Winget ist fehlgeschlagen!
    pause
    exit /b
)

:: Stelle sicher, dass das Zielverzeichnis existiert
if not exist "%DEPENDENCIES_FOLDER%" mkdir "%DEPENDENCIES_FOLDER%"

:: Entpacken direkt in den gewünschten Ordner
echo Entpacke Abhängigkeiten in %DEPENDENCIES_FOLDER%...
powershell -command "Expand-Archive -Path '!DEPENDENCIES_ZIP!' -DestinationPath '!DEPENDENCIES_FOLDER!' -Force"

:: Falls ein doppelter Unterordner entstanden ist, korrigieren
if exist "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies\x64" (
    move "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies\x64" "%DEPENDENCIES_FOLDER%"
    rmdir /s /q "%DEPENDENCIES_FOLDER%\DesktopAppInstaller_Dependencies"
)

:: Sicherstellen, dass der x64-Ordner existiert
if not exist "%DEPENDENCIES_FOLDER%\x64" (
    echo Fehler: Der x64-Ordner mit den AppX-Paketen wurde nicht gefunden!
    pause
    exit /b
)

:: Abhängigkeiten installieren
echo Installiere Abhängigkeiten...

powershell -NoProfile -ExecutionPolicy Bypass -Command ^
    "$files = Get-ChildItem -Path '%DEPENDENCIES_FOLDER%\x64' -Filter '*.appx' -Recurse;" ^
    "if ($files.Count -eq 0) { Write-Host 'Fehler: Keine AppX-Abhängigkeiten gefunden!'; exit 1 }" ^
    "else { foreach ($file in $files) { Add-AppXPackage -Path $file.FullName } }"

:: Prüfe, ob die Installation erfolgreich war
if %ERRORLEVEL% NEQ 0 (
    echo Fehler: Die Installation der Abhängigkeiten ist fehlgeschlagen!
    pause
    exit /b
)

:: Winget installieren
echo Installiere Winget...
powershell -command "Add-AppXPackage -Path '%WINGET_INSTALLER%'"

:: Prüfe, ob die Installation erfolgreich war
if %ERRORLEVEL% NEQ 0 (
    echo Fehler: Die Installation von Winget ist fehlgeschlagen!
    pause
    exit /b
)

echo Installation abgeschlossen.

:: Winget testen
winget list --accept-source-agreements

pause
endlocal
exit /b
am besten mit dem Editor erstellen und mit Coding ANSI abspeichern (wegen der Umlaute)
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Antworten