Install Msix Powershell All Users -
Install the signing certificate to Cert:\LocalMachine\Root before running Add-AppxProvisionedPackage .
$fullPath = Resolve-Path ".\MyApp.msix" Add-AppxProvisionedPackage -Online -FolderPath $fullPath Redirect output for auditing:
<# .SYNOPSIS Installs an MSIX package for all users on a Windows machine. .DESCRIPTION Uses Add-AppxProvisionedPackage to machine-wide install an MSIX. .NOTES Must be run as Administrator. #> param( [Parameter(Mandatory=$true)] [string]$MsixPath, install msix powershell all users
Start-Transcript -Path "C:\Logs\MsixInstall.log" Add-AppxProvisionedPackage -Online -FolderPath "E:\Deploy\app.msix" Stop-Transcript After running the command, check success with:
.\Install-MsixAllUsers.ps1 -MsixPath "C:\Apps\MyBusinessApp.msix" Many admins get confused by the term "Provisioned." Here is the distinction: The app is provisioned for all users
| | Scope | When does the app appear? | | --- | --- | --- | | Add-AppxPackage | Current user only | Immediately for that user | | Add-AppxProvisionedPackage | All users (machine) | After reboot or new user login |
[Parameter(Mandatory=$false)] [string]$CertificatePath, param( [Parameter(Mandatory=$true)] [string]$MsixPath
[switch]$SkipCertificateCheck ) if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) Write-Error "This script must be run as Administrator." exit 1 File existence check if (-not (Test-Path $MsixPath)) Write-Error "MSIX file not found at $MsixPath" exit 1 Optional: Install machine-wide certificate if ($CertificatePath -and (Test-Path $CertificatePath)) Write-Host "Installing certificate to Local Machine Trusted Root..." $cert = Import-Certificate -FilePath $CertificatePath -CertStoreLocation Cert:\LocalMachine\Root Write-Host "Certificate installed: $($cert.Thumbprint)" Perform the all-users installation 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."