Add WindowsPackage - PowerShell
Overview
Add-WindowsPackage installs or updates Windows Provisioning packages (.ppkg files) on a local or remote computer. Provisioning packages are bundles of settings, configurations, and applications that can be used to customize a Windows 10 or Windows 11 operating system installation.
Syntax
Add-WindowsPackage [-Path] <String> [-Online] [-Force] [-DependsOn] <String[]> [-Parameters] <StringDictionary> [[-WhatIf] | [-Confirm]] [-DisableAutomaticReboot] [-Async] [-Credential <PSCredential>] [-FailureAction <AddWindowsPackageFailureAction>] [-Measure]
Options/Flags
- -Path: Specifies the path to the provisioning package (
.ppkg) file. - -Online: Installs the package online, downloading it from the Microsoft Store or Windows Update if necessary.
 - -Force: Ignores any existing package deployments and forces the installation of the specified package.
 - -DependsOn: Specifies a list of package dependencies that must be installed before the current package can be installed.
 - -Parameters: Specifies a dictionary of parameters that can be used to customize the package installation.
 - -WhatIf: Displays the actions that would be performed without actually installing the package.
 - -Confirm: Prompts the user to confirm the installation before executing it.
 - -DisableAutomaticReboot: Prevents the computer from automatically rebooting after the installation is completed.
 - -Async: Installs the package asynchronously, allowing the command to continue running while the installation is in progress.
 - -Credential: Specifies the credentials to use for the installation if the current user does not have sufficient privileges.
 - -FailureAction: Specifies the action to take if the package installation fails. Possible values: 
Continue,Ignore,Stop. - -Measure: Displays performance measurements for the installation operation.
 
Examples
Simple Installation:
Add-WindowsPackage -Path "C:\path\to\mypackage.ppkg"
Installation with Parameters:
Add-WindowsPackage -Path "C:\path\to\mypackage.ppkg" -Parameters @{"MyParameter1" = "Value1"; "MyParameter2" = "Value2"}
Installation as a Different User:
Add-WindowsPackage -Path "C:\path\to\mypackage.ppkg" -Credential (Get-Credential)
Common Issues
- Package Dependencies: Ensure that any package dependencies are installed before attempting to install the package.
 - Admin Privileges: The command must be run with elevated privileges (as an administrator).
 - Network Connectivity: Online installations require an active internet connection.
 
Integration
Get the List of Installed Packages:
Get-WindowsPackage
Remove a Package:
Remove-WindowsPackage -PackageName <Package Name>
Related Commands
- New-PackageInstaller
 - Get-PackageInstaller
 - Install-AppxPackage