Powershell All Users — Install Msix
Redirect output for auditing:
Start-Transcript -Path "C:\Logs\MsixInstall.log"
Add-AppxProvisionedPackage -Online -FolderPath "E:\Deploy\app.msix"
Stop-Transcript
This does NOT install for all users:
Add-AppxPackage -Path "C:\path\to.msix" # current user only
As the Windows ecosystem transitions from legacy installers (MSI, EXE) to the modern MSIX format, system administrators require reliable methods to deploy applications at scale. Unlike legacy formats, MSIX operates within a containerized environment, requiring specific provisioning methods to ensure applications are available to all users on a target machine. This paper explores the native PowerShell capabilities for system-wide MSIX installation, analyzes the dependency on the "App Installer" service, and presents a robust, error-handled PowerShell script designed for enterprise deployment pipelines. install msix powershell all users
The standard cmdlet Add-AppxPackage does not have a dedicated -AllUsers parameter in older PowerShell versions, but it achieves the same result if you run the command provisioning the package.
To install for all users (current and future users), you must use the -RequiredContentGroupOnly or strictly specify the package path. This does NOT install for all users: Add-AppxPackage
The Command:
Add-AppxPackage -Path "C:\Path\To\YourApp.msix"
Wait, how does that install for All Users?
In modern Windows versions (1809+), simply running Add-AppxPackage as Administrator stages the package. However, to ensure it is provisioned (available for future users), you should use the Add-AppxProvisionedPackage cmdlet (see Method 2 below), which is the technically correct way for "All Users" deployment. As the Windows ecosystem transitions from legacy installers
$regPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" Set-ItemProperty -Path $regPath -Name "AllowAllTrustedApps" -Value 1 -Type DWord -Force
Write-Host "Installing MSIX for all users from: $MsixPath" -ForegroundColor Cyan
try Add-AppxPackage -Path $MsixPath -Scope Machine -ErrorAction Stop Write-Host "SUCCESS: Installation completed for all users." -ForegroundColor Green catch Write-Host "ERROR: $($_.Exception.Message)" -ForegroundColor Red exit 1
Run it:
.\Install-MsixAllUsers.ps1 -MsixPath "C:\MyApp.msix"