To install an MSIX package for all users via PowerShell, you must "provision" it at the operating system level. Unlike Add-AppxPackage, which only installs for the current user, provisioning ensures the app is pre-installed for every existing user and automatically registered for any new users who sign in. Installation Command
Open PowerShell as an Administrator and use the Add-AppxProvisionedPackage cmdlet. You must specify the -Online flag to target the currently running operating system. powershell
Add-AppxProvisionedPackage -Online -PackagePath "C:\Path\To\YourApp.msix" -SkipLicense Use code with caution. Copied to clipboard
-Online: Applies the action to the local running Windows instance.
-PackagePath: The full path to your .msix or .msixbundle file.
-SkipLicense: Used to avoid errors if you do not have a separate XML license file (common for most third-party or internal apps). How to Uninstall for All Users
To completely remove a machine-wide MSIX package, you must "deprovision" it so new users don't get it, and then remove it for existing users. install msix powershell all users
Find the Package Name: Use Get-AppxPackage to find the exact PackageFullName. powershell Get-AppxPackage -AllUsers | Select Name, PackageFullName Use code with caution. Copied to clipboard
Remove for All Users: Use Remove-AppxPackage with the -AllUsers flag. powershell Remove-AppxPackage -Package "PackageFullName" -AllUsers Use code with caution. Copied to clipboard
Deprovision from the OS: Use Remove-AppxProvisionedPackage to ensure it doesn't reinstall for new users. powershell
Remove-AppxProvisionedPackage -Online -PackageName "PackageFullName" Use code with caution. Copied to clipboard Important Considerations
Administrative Rights: All commands for "all users" or "provisioning" require administrative privileges.
Store Apps: Applications distributed directly via the Microsoft Store are typically user-scoped and cannot be provisioned machine-wide through the Store itself; they require sideloading using the methods above. To install an MSIX package for all users
Dependencies: If the MSIX requires specific framework dependencies (like VCLibs), you may need to install those first or include them in the deployment.
Are you deploying this manually on a single machine or using a management tool like Microsoft Intune?
Installing Python install manager MSIX for all users · Issue #119
Import-Certificate -FilePath "$tempFolder\app.cer" -CertStoreLocation "Cert:\LocalMachine\Root"
try Write-Host "Installing $MsixPath for ALL users..." Add-AppxProvisionedPackage -Online -FolderPath $MsixPath -SkipLicense -ErrorAction Stop Write-Host "Installation successful. The app is provisioned for all users." catch Write-Error "Installation failed: $_" exit 1
Here is a production‑ready script that handles certificates, dependencies, scope, and reboot detection. Part 9: Real-World Example – Full Deployment Script
<#
.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
PowerShell Script Example
Here's a complete example of a PowerShell script that installs an MSIX package for all users:
# Ensure running as Administrator
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))
Write-Error "This script must be run as Administrator"
break
try
# Define the path to your MSIX package
$msixPath = "C:\Path\To\YourApp.msix"
# Install the MSIX package for all users
Add-AppxPackage -AllUsers -Path $msixPath
Write-Host "Installation successful."
catch
Write-Host "An error occurred: $($Error[0].Message)"
Make sure to replace "C:\Path\To\YourApp.msix" with the actual path to your MSIX file.
Error 1: Deployment failed because package was not provisioned for all users
Cause: You missed -Scope Machine or used Add-AppxPackage without elevation.
Solution: Run PowerShell as Admin and include -Scope Machine.
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.