This page documents all supported installation methods for PowerToys: their distribution channels, package formats, installation scopes (per-user vs. machine-wide), and update behavior.
For information about the WiX-based MSI installer internals, see page 5.2 (Installer Architecture). For the runtime update checking mechanism, see page 5.3 (Update System). For code signing of the produced binaries, see page 5.4.2 (Code Signing and Verification). </old_str> <new_str>
This page documents all supported installation methods for PowerToys: their distribution channels, package formats, installation scopes (per-user vs. machine-wide), and update behavior.
For information about the WiX-based MSI installer internals, see page 5.2 (Installer Architecture). For the runtime update checking mechanism, see page 5.3 (Update System). For code signing of the produced binaries, see page 5.4.2 (Code Signing and Verification).
PowerToys is distributed through multiple channels to accommodate different user preferences and enterprise deployment scenarios. Each method differs in installation scope, update mechanism, and package format.
| Channel | Installation Scope | Auto-Updates | Prerequisites | Package Format |
|---|---|---|---|---|
| GitHub Releases | Per-user or Machine-wide | Manual via runner | None | .exe (bootstrapper + MSI) |
| Microsoft Store | Per-user | Automatic | MS Store app | MSIX |
| WinGet | Per-user or Machine-wide | Via winget upgrade | WinGet CLI | .exe |
| Chocolatey | Machine-wide | Via choco upgrade | Chocolatey | .exe wrapper |
| Scoop | Per-user | Via scoop update | Scoop | .exe |
Installer package flow from build output to distribution channels
Sources: README.md42-103 doc/devdocs/core/installer.md1-72
The primary distribution method provides direct access to signed executables via GitHub Releases.
PowerToys offers two installation scopes with distinct characteristics:
Per-User Installation (PowerToysUserSetup-{version}-{arch}.exe):
%LOCALAPPDATA%\Microsoft\PowerToysMachine-Wide Installation (PowerToysSetup-{version}-{arch}.exe):
%ProgramFiles%\PowerToys%LOCALAPPDATA%Both x64 and ARM64 architectures are supported with separate installers:
| Architecture | Per-User Installer | Machine-Wide Installer |
|---|---|---|
| x64 | PowerToysUserSetup-{version}-x64.exe | PowerToysSetup-{version}-x64.exe |
| ARM64 | PowerToysUserSetup-{version}-arm64.exe | PowerToysSetup-{version}-arm64.exe |
Bootstrapper and MSI execution sequence for GitHub installer
Sources: README.md48-67 doc/devdocs/core/installer.md4-52
The Microsoft Store provides MSIX-packaged versions with automatic updates through Windows Update infrastructure.
PowerToysSparse.msixContext menu extensions are deployed as separate sparse MSIX packages. This gives them a modern package identity for Windows 11 shell integration without requiring a full MSIX install for the main application.
| Module | MSIX Package |
|---|---|
| File Locksmith | FileLocksmithContextMenuPackage.msix |
| Image Resizer | ImageResizerContextMenuPackage.msix |
| PowerRename | PowerRenameContextMenuPackage.msix |
| New+ | NewPlusPackage.msix |
These packages are registered when the corresponding module is enabled, and unregistered when PowerToys is uninstalled. Registration is managed via package.h, which checks installed package version and re-registers on mismatch. See page 5.2 (Installer Architecture) for full MSIX packaging details.
Store deployment flow
Sources: README.md70-81 doc/devdocs/core/installer.md55-72
WinGet (Windows Package Manager) provides command-line installation with scope control and upgrade management.
Per-User Installation (default):
Machine-Wide Installation:
Upgrade Existing Installation:
Microsoft.PowerToyswinget (official Microsoft repository)microsoft/winget-pkgs GitHub repository.exe installerWinGet upgrade sequence for Microsoft.PowerToys
Sources: README.md83-96
Chocolatey provides enterprise-focused Windows package management.
Installation:
Upgrade:
Characteristics:
Scoop is a command-line installer focused on developer tools with portable app model.
Installation:
Upgrade:
Characteristics:
~/scoop/apps)Sources: README.md99-103
For details on binary signing (ESRP key codes, signed file lists, and signature verification), see page 5.4.2 (Code Signing and Verification).
Install root directories by scope
Even with machine-wide installation, user settings and third-party plugins remain stored in
%LOCALAPPDATA%.
| Path | Scope |
|---|---|
%LOCALAPPDATA%\Microsoft\PowerToys\ | Per-user install root |
%ProgramFiles%\PowerToys\ | Machine-wide install root |
%LOCALAPPDATA%\Microsoft\PowerToys\settings.json | Global settings (always per-user) |
%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\ | Third-party Run plugins |
Sources: doc/thirdPartyRunPlugins.md7 doc/devdocs/core/installer.md41-53 README.md42-103
The .exe bootstrapper automatically detects and installs missing prerequisites:
| Dependency | Purpose | Delivery |
|---|---|---|
| .NET 8.0 Runtime | Required for C# modules (Settings, Advanced Paste, etc.) | Automatic if missing |
| WebView2 Runtime | Required for WinUI3 modules | Automatic if missing |
| VC++ Redistributables | Required for native C++ modules | Automatic if missing |
Sources: doc/devdocs/readme.md9-17 doc/devdocs/core/installer.md4-11 README.md44
Mixed Scope Installation Error:
Signature Verification Failure:
Missing Context Menu Handlers:
Windows Installer logs:
%TEMP%\PowerToys_*.log
MSI installation logs (verbose):
msiexec /i PowerToysSetup.msi /l*v install.log
Sources: Inferred from standard MSI logging practices and installer architecture
Refresh this wiki
This wiki was recently refreshed. Please wait 4 days to refresh again.