Instead of manually updating, schedule a monthly task via PowerShell:
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-Command `"& iwr https://aka.ms/getwinget -OutFile $env:TEMP\winget.msixbundle; Add-AppxPackage -Path $env:TEMP\winget.msixbundle `""
$trigger = New-ScheduledTaskTrigger -Monthly -Days 1
Register-ScheduledTask -TaskName "UpdateWinget" -Action $action -Trigger $trigger -RunLevel Highest
Windows Package Manager (winget) lets you install, update, and manage apps from the command line. This guide shows an updated, step-by-step method to install winget using PowerShell on Windows 10 and Windows 11, including checks and troubleshooting.
Run the following script to download and apply the latest Winget update: install winget using powershell updated
# Fetch latest release info from GitHub
$latestRelease = Invoke-RestMethod -Uri "https://api.github.com/repos/microsoft/winget-cli/releases/latest"
$bundleUrl = ($latestRelease.assets | Where-Object $_.name -like "*.msixbundle" ).browser_download_url
If you get a red error saying dependencies are missing (common on Windows Server or stripped-down Windows 10 builds), you need to install the dependencies first.
Winget is part of the App Installer package from the Microsoft Store. You can download and install it directly using PowerShell. Instead of manually updating, schedule a monthly task
# Add the Microsoft Store source if missing (rarely needed)
Add-WindowsPackage -Online -PackagePath "Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -ErrorAction SilentlyContinue
But a cleaner way is to use a script that fetches the latest bundle from Microsoft’s CDN:
# Run as Administrator
$githubUrl = "https://api.github.com/repos/microsoft/winget-cli/releases/latest"
$release = Invoke-RestMethod -Uri $githubUrl
$asset = $release.assets | Where-Object $_.name -like "*.msixbundle"
$downloadUrl = $asset.browser_download_url
$output = "$env:TEMP\winget.msixbundle"
Invoke-WebRequest -Uri $downloadUrl -OutFile $output
Add-AppxPackage -Path $output
Windows Package Manager (winget) lets you install, update,
After running these commands, close and reopen PowerShell as Administrator, then test with winget --version.