To install an MSIX package for all users on a Windows machine, you must provision the package at the system level. This ensures the application is automatically registered for every user who logs in. PowerShell Command for All Users
The standard way to perform this is using the Add-AppxProvisionedPackage cmdlet in an elevated (Administrator) PowerShell window: powershell
Add-AppxProvisionedPackage -Online -PackagePath "C:\Path\To\YourApp.msix" -SkipLicense Use code with caution. Copied to clipboard Breakdown of Parameters: -Online: Targets the currently running operating system.
-PackagePath: The full file path to your .msix or .msixbundle file.
-SkipLicense: Prevents errors (like 0xc1570104) if you do not have a separate XML license file, which is common for sideloaded apps. Alternative: DISM (Command Prompt) install msix powershell all users
You can also use the Deployment Image Servicing and Management (DISM) tool, which achieves the same result:
dism.exe /Online /Add-ProvisionedAppxPackage /PackagePath:"C:\Path\To\YourApp.msix" /SkipLicense Use code with caution. Copied to clipboard
Key Differences: Add-AppxPackage vs Add-AppxProvisionedPackage Add-AppxPackage Add-AppxProvisionedPackage Scope Current User only All Users (Machine-wide) Persistence Only for the account that ran it Auto-registers for all new & existing logins Privileges Standard User (usually) Required Administrator
Note: When you provision a package, it may not appear instantly for a currently logged-in user until they restart their session or the AppX Deployment Service triggers a refresh. To install an MSIX package for all users
Unlike a typical MSI package, you cannot just add a property (like ALLUSERS=1) and install the application per machine. With MSIX, Advanced Installer
If you need to uninstall an app installed via MSIX for all users, you can use:
Get-AppxPackage -AllUsers | Where-Object $_.Name -eq "YourAppName" | Remove-AppxPackage
Replace "YourAppName" with the actual name of the application package you wish to uninstall.
Here is a production‑ready script that handles certificates, dependencies, scope, and reboot detection. Uninstalling If you need to uninstall an app
<#
.FILE: Deploy-MsixAllUsers.ps1
.DESCRIPTION: Installs MSIX package for all users with dependency and cert management
#>
param(
[string]$MsixUrl = "https://internal.cdn/MyApp.msix",
[string]$CertificateUrl = "https://internal.cdn/MyApp.cer",
[string[]]$DependencyUrls = @()
)
$tempFolder = Join-Path $env:TEMP "MSIXInstall"
New-Item -ItemType Directory -Force -Path $tempFolder | Out-Null
Error 0x800B0109: "A certificate chain processed, but terminated in an untrusted root"
Solution: The signing certificate isn't trusted system-wide. Install the .cer file to Local Machine > Trusted People:
Import-Certificate -FilePath "C:\Path\To\Certificate.cer" -CertStoreLocation Cert:\LocalMachine\TrustedPeople
1. Administrator Privileges
All-users installation requires elevated rights. You must run PowerShell as Administrator. Without elevation, the command will fail with an access denied error.
Test as another user
Switch to a standard user account (not admin) and run:
Get-AppxPackage -Name *MyApp*
If the package appears, the all-users installation succeeded.