Install Winget Using Powershell Hot
Deep report: Install winget using PowerShell (fast guide + thorough details)
Summary
- Goal: Install Windows Package Manager (winget) via PowerShell quickly and reliably.
- Two main approaches: (A) install via Microsoft Store/App Installer (recommended) or (B) manually install the App Installer MSIX bundle from GitHub (for offline/managed scenarios). PowerShell is used to automate either approach.
- This report covers prerequisites, step-by-step commands, verification, common errors and fixes, security considerations, and automation snippets.
Prerequisites
- Windows 10 1809+ (build 17763.134 or later) or Windows 11. Older Windows versions are not supported.
- PowerShell 5.1 (built-in) or PowerShell 7.x; admin privileges required for system-wide installs.
- Internet access for downloads unless using pre-staged packages.
- For manual MSIX install: the system must support MSIX/Appx (most modern Windows versions do).
Approach A — Recommended: Install via Microsoft Store (App Installer) Rationale: Ensures updates, integrity via Microsoft Store, simplest end-user experience.
Quick commands (admin PowerShell)
- Ensure Store-based App Installer is available:
- If Store present (default Windows 10/11), open Microsoft Store and install "App Installer" — winget is bundled.
- Force-install via PowerShell using winget from Store (if winget already present this is upgrade):
Get-AppxPackage -Name Microsoft.DesktopAppInstaller -AllUsers
- If package exists, winget is installed/available. To update via Store:
Start-Process "ms-windows-store://pdp/?productid=9NBLGGH4NNS1"
(manually click Update/Install) or use management tooling (Intune, WSUS) for enterprise.
Notes:
- There is no official Microsoft-supported silent PowerShell-only command that installs Store apps on consumer Windows without Store interaction, unless using enterprise management tools (Intune, winget policy, or App Installer MSIX).
Approach B — Manual MSIX bundle install (offline/managed — uses GitHub releases) Rationale: Use when Microsoft Store is unavailable (e.g., Server Core, locked-down enterprise) or to script an unattended install.
Steps — detailed, idempotent script (run as Administrator)
- Download the latest App Installer MSIX bundle (contains winget). Official source: Microsoft/winget-pkgs or Microsoft Store packages mirrored as MSIX. For highest trust, use the official release asset from Microsoft’s winget-cli GitHub repo (or App Installer MSIX from Microsoft releases). Verify signature.
- Install with Add-AppxPackage or Add-AppxProvisionedPackage.
Example script (robust):
# Variables
$releaseApi = "https://api.github.com/repos/microsoft/winget-cli/releases/latest"
$tempDir = "$env:TEMP\winget_install"
New-Item -Path $tempDir -ItemType Directory -Force | Out-Null
# Get latest release info
$release = Invoke-RestMethod -Uri $releaseApi -UseBasicParsing
# Choose MSIX/AppInstaller assets (filter by name)
$asset = $release.assets | Where-Object $_.name -match "AppInstaller.*.msixbundle$" | Select-Object -First 1
if (-not $asset) Write-Error "MSIX bundle not found in release assets"; exit 1
$downloadUrl = $asset.browser_download_url
$msixPath = Join-Path $tempDir $asset.name
# Download
Invoke-WebRequest -Uri $downloadUrl -OutFile $msixPath
# Verify signature (optional but recommended)
# Use Get-AppxPackageManifest or signtool if available. Example using Get-AuthenticodeSignature:
$sig = Get-AuthenticodeSignature -FilePath $msixPath
if ($sig.Status -ne 'Valid') Write-Warning "Package signature is $($sig.Status). Proceed with caution."
# Install
Add-AppxPackage -Path $msixPath -Register -DisableDevelopmentMode -ForceApplicationShutdown
# For system-wide provisioning on images (optional): Add-AppxProvisionedPackage (requires DISM)
Verification
- Check winget presence:
winget --version
Get-Command winget
Get-AppxPackage -Name Microsoft.DesktopAppInstaller -AllUsers
- Expected: winget returns a semantic version (e.g., 1.x.x) and Get-AppxPackage shows Microsoft.DesktopAppInstaller.
Common errors & fixes
- Error: “Add-AppxPackage failed with HRESULT 0x80073D02 / 0x80073CF6” — usually due to conflicting older package or running processes. Fix: close Store/App Installer processes, use -ForceApplicationShutdown, remove previous Appx package:
Get-AppxPackage -Name Microsoft.DesktopAppInstaller | Remove-AppxPackage
Then retry Add-AppxPackage.
- Error: “This package could not be installed because resources it modifies are currently in use” — reboot or force close apps, then retry.
- Error: “Appx API not supported” on Server/Core — MSIX install not supported; use an alternative client or enable Desktop Experience.
- Signature invalid or untrusted — do not install untrusted MSIX in production. Obtain package from official Microsoft source and validate signature.
- winget not in PATH after install — log off/log on or restart; the App Installer places the binary in system-managed location.
Security and trust
- Prefer Microsoft Store/App Installer to ensure signed, updatable package.
- Verify downloaded MSIX bundle signature: Get-AuthenticodeSignature or signtool verify.
- Avoid unofficial builds; use Microsoft GitHub org releases or Store.
Automation & enterprise deployment
- Use Intune, Microsoft Endpoint Configuration Manager, or DISM/Appx provisioning to deploy App Installer to many machines.
- For image customization, use Add-AppxProvisionedPackage or include the Appx in offline image with DISM.
- For scripted installs in enterprises, host MSIX packages on an internal file share or package repository and validate signatures before deployment.
Unattended installation script (concise) install winget using powershell hot
# Run as admin
$msixUrl = "https://github.com/microsoft/winget-cli/releases/download/vX.Y.Z/AppInstaller.msixbundle" # replace with actual URL
$msixPath = "$env:TEMP\AppInstaller.msixbundle"
Invoke-WebRequest -Uri $msixUrl -OutFile $msixPath
Add-AppxPackage -Path $msixPath -DisableDevelopmentMode -Register -ForceApplicationShutdown
(Replace URL with the desired release asset and validate signature before use.)
Rollback / removal
- Remove per-user:
Get-AppxPackage -Name Microsoft.DesktopAppInstaller | Remove-AppxPackage
- Remove for all users (requires admin:
Get-AppxPackage -AllUsers -Name Microsoft.DesktopAppInstaller | Remove-AppxPackage
- For image provisioning, remove provisioned package with Remove-AppxProvisionedPackage or DISM.
Testing after install
- Install a package with winget to confirm functionality:
winget install --id=7zip.7zip -e --silent
- Confirm package installed and in PATH.
Appendix — quick troubleshooting checklist
- Run PowerShell as Admin.
- Confirm Windows build supports App Installer.
- Ensure Microsoft.DesktopAppInstaller package not blocked by policy.
- Close Store/AppInstaller processes; reboot if needed.
- Verify MSIX signature.
- For domain/enterprise, check Group Policy restricting Store or sideloading.
- If Store disabled: enable sideloading in Settings > For developers or via Group Policy (Allow all trusted apps).
If you want, I can:
- Provide an exact, ready-to-run PowerShell script that automatically fetches the latest official MSIX release URL and installs it (including signature checks).
To install using PowerShell, you can use the official Microsoft module or a community-driven script. This is especially useful for Windows Server or "clean" installations where the Microsoft Store might be missing. Microsoft Learn
Method 1: Use the Microsoft WinGet Client Module (Recommended)
This is the most reliable way to bootstrap WinGet on modern versions of Windows. Microsoft Learn Open PowerShell as Administrator. Install the WinGet Client module: powershell
Install-PackageProvider -Name NuGet -Force Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery Use code with caution. Copied to clipboard Run the repair/bootstrap command: powershell Repair-WinGetPackageManager -AllUsers Use code with caution. Copied to clipboard -IncludePrerelease if you need the latest preview version. Microsoft Learn Method 2: Register via App Installer (Fast Fix)
If WinGet is already on your system but not responding, you can force its registration with this one-liner: Microsoft Learn powershell
Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe Use code with caution. Copied to clipboard Method 3: The "Hot" Community Script (Automated)
If you are on a system without any prerequisites (like VCLibs or Xaml), this community-maintained script from handles the entire dependency chain. Download and run the installer script: powershell Install-Script -Name winget-install winget-install Use code with caution. Copied to clipboard
This script automatically fetches the latest stable version of WinGet, installs necessary VCLibs, and updates your User PATH. Verification After installation, restart your terminal and type: powershell winget --version Use code with caution. Copied to clipboard If successful, it will return the version number (e.g., v1.9.25150 Microsoft Learn all your favorite apps at once?
Use WinGet to install and manage applications | Microsoft Learn 24-Mar-2026 — Deep report: Install winget using PowerShell (fast guide
Here’s a quick PowerShell snippet to install winget (if missing) using the App Installer package from the Microsoft Store:
# Run as Administrator
$hasWinget = Get-Command winget -ErrorAction SilentlyContinue
if (-not $hasWinget)
Write-Host "winget not found. Downloading App Installer package..." -ForegroundColor Yellow
$url = "https://aka.ms/getwinget"
$downloadPath = "$env:TEMP\Microsoft.DesktopAppInstaller.msixbundle"
Invoke-WebRequest -Uri $url -OutFile $downloadPath
Add-AppxPackage -Path $downloadPath
Write-Host "winget installed. Restart PowerShell." -ForegroundColor Green
else
Write-Host "winget already available." -ForegroundColor Green
Note:
- Run PowerShell as Administrator.
- Works on Windows 10 1809+ and Windows 11.
- Reopen PowerShell after installation.
To install WinGet via PowerShell, use the official Microsoft module to bootstrap the client. For a more "hands-on" experience, you can also download the bundle directly from GitHub. Quick Installation (PowerShell) Run these commands in an Administrator
PowerShell session to install the WinGet client and its necessary dependencies automatically: Install the WinGet Client Module powershell Install-Module -Name Microsoft.WinGet.Client -Force Use code with caution. Copied to clipboard Bootstrap WinGet powershell Repair-WinGetPackageManager -AllUsers Use code with caution. Copied to clipboard Verify the Install powershell winget --version Use code with caution. Copied to clipboard
Alternatively, you can quickly grab the bundle via a web request: Stack Overflow powershell
Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile winget.msixbundle Add-AppxPackage winget.msixbundle Use code with caution. Copied to clipboard The "Hot" Review: Why WinGet is Windows' Best-Kept Secret
WinGet has transformed from a basic tool into a powerhouse for power users and sysadmins alike. As of
, it remains the gold standard for "zero-touch" software management on Windows.
Use WinGet to install and manage applications | Microsoft Learn
Title: The Modern Administrator’s Gateway: Installing and Managing Winget via PowerShell
In the evolving landscape of Windows administration, the command line has re-emerged as the epicenter of productivity and control. For decades, Linux administrators enjoyed the luxury of package managers—tools that allow for the automated installation, update, and removal of software via simple commands. Windows users, conversely, were relegated to the graphical interface: downloading .exe or .msi files, clicking through wizards, and manually managing updates. The introduction of the Windows Package Manager, colloquially known as Winget, marked a paradigm shift for the operating system. However, while Winget is now native to Windows 10 and 11, understanding how to verify, install, and utilize it through PowerShell remains a critical skill for the modern power user.
The synergy between PowerShell and Winget represents the marriage of automation and repository management. PowerShell is the engine of Windows administration, providing the environment to script and execute commands. Winget is the tool that interfaces with a vast repository of software. To begin this journey, one must first understand the environment. While standard Command Prompt (cmd) can run Winget, PowerShell offers a superior experience due to its scripting capabilities, object-oriented output, and integration with system management modules. The "hot" topic, therefore, is not merely installing software, but mastering the interaction between the shell and the package manager.
For users on the latest versions of Windows 10 or 11, Winget is likely already present, installed silently via the Microsoft Store or Windows Updates. However, for administrators managing legacy systems, stripped-down installations, or Windows Server environments, the installation process requires a deliberate approach via PowerShell. The most efficient method involves utilizing PowerShell to interact with the Microsoft Store or to fetch the package directly from the GitHub repository. For instance, an administrator might use a PowerShell script to download the latest .appxbundle (the format for Windows apps) from the Winget GitHub releases page and install it silently. This process transforms a manual, graphical task into a replicable, automated command line operation.
The true power of managing Winget through PowerShell lies in the workflow. Once the environment is set, the process of software management becomes streamlined and elegant. Instead of navigating to a vendor’s website, a user opens a PowerShell terminal and types winget search "application name". The tool queries the repository and returns a list of matches. Following this, a simple command such as winget install --id "Application.ID" initiates the download and installation. Crucially, Winget handles the logic of installer architectures, silently managing the installation switches that would otherwise require manual input. In PowerShell, this can be expanded into scripts that install a whole suite of necessary tools—web browsers, code editors, and runtimes—in a matter of minutes, a task that would consume hours via a GUI. Prerequisites
Furthermore, managing Winget via PowerShell solves the age-old problem of software maintenance. The command winget upgrade provides a bird’s-eye view of all installed software that has available updates. An administrator can update a single application or use the winget upgrade --all command to bring the entire system up to date. This capability is the hallmark of a "hot" administrative trend: proactive system hygiene. By scheduling a PowerShell script to run these commands periodically, administrators ensure systems remain secure and performant without manual intervention.
In conclusion, the intersection of PowerShell and Winget is more than a convenience; it is a fundamental shift in how Windows software is managed. It bridges the gap between the user-friendly nature of the Microsoft Store and the raw power of the Linux command line. Whether verifying an installation on a modern workstation or deploying the client on a server, the PowerShell interface provides the control and automation necessary for modern IT management. As the Windows ecosystem continues to embrace
Installing using PowerShell is often referred to as the "hot" method because it allows for rapid, scriptable deployment without needing the Microsoft Store GUI. This is particularly useful for setting up fresh Windows installations or managing remote machines. Overview of PowerShell Installation Methods
While WinGet is typically part of the "App Installer" package, it can be manually bootstrapped or repaired via PowerShell if it's missing or broken. The "Scripted" Method (PSGallery)
The most direct way to install WinGet via PowerShell is by using specialized scripts available in the PowerShell Gallery. Install-Script -Name winget-install PowerShell Gallery : After installing the script, running winget-install
automates the download of the latest version and its dependencies The "Repair" Method (Official)
For modern Windows systems where the framework exists but the tool is unreachable, Microsoft provides a dedicated cmdlet. Repair-WinGetPackageManager -AllUsers Andrew S Taylor : This is often used in Windows Sandbox
or environments where the Microsoft Store hasn't yet registered the tool Microsoft Learn The "Manual Direct" Method (MSIXBundle)
If scripts are blocked, you can manually fetch the bundle directly from Microsoft's servers.
Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile winget.msixbundle then install it with Add-AppxPackage winget.msixbundle Stack Overflow Performance & Reliability Review
: These PowerShell methods are significantly faster than opening the Microsoft Store and searching for "App Installer" Versatility Add-AppxPackage method is highly effective for remote deployments via PowerShell sessions where a GUI is unavailable Dependency Management : Standard PowerShell commands (like Add-AppxPackage ) may fail silently if dependencies like are missing Microsoft Learn . Using the winget-install Repair-WinGetPackageManager
is generally "hotter" (more effective) because they handle these prerequisites automatically Microsoft Learn Critical Requirements
Use WinGet to install and manage applications | Microsoft Learn
Here’s a quick, useful guide to install winget (Windows Package Manager) using PowerShell — even if it’s missing from your system.
If missing, install App Installer package (requires internet)
⚠️ Issues with the phrase "hot"
- "Hot" is ambiguous – It might be a typo for:
- "how to" – e.g., "how to install Winget using PowerShell"
- "hotfix" – unlikely
- "host" – irrelevant
- No official "hot" command – Typing this as-is in PowerShell will fail.
Error 3: "Winget installed but won't run"
The Fix: Your PATH environment variable is stale. Close PowerShell, open a new one, or run this to refresh:
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")