Add-AppxPackage

Add-AppxPackage

Adds a signed app package to a user account.

Syntax

Parameter Set: AddSet
Add-AppxPackage [-Path] <String> [-DependencyPath <String[]> ] [-ForceApplicationShutdown] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: RegisterSet
Add-AppxPackage [-Path] <String> -Register [-DependencyPath <String[]> ] [-DisableDevelopmentMode] [-ForceApplicationShutdown] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: UpdateSet
Add-AppxPackage [-Path] <String> -Update [-DependencyPath <String[]> ] [-ForceApplicationShutdown] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Add-AppxPackage cmdlet adds a signed app package (.appx) to a user account. An app package has an .appx file name extension. Use the DependencyPath parameter to add all other packages that are required for the installation of the app package.

You can use the Register parameter to install from a folder of unpackaged files during development of Windows® Store apps.

To update an already installed package, the new package must have the same package family name.

Parameters

-DependencyPath<String[]>

Specifies an array of file paths of dependency packages that are required for the installation of the app package. The app package has an .appx or .appxbundle file name extension. You can specify the paths to more than one dependency package.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DisableDevelopmentMode

Indicates that this cmdlet registers an existing app package installation that has been disabled, did not register, or has become corrupted. Use the current parameter to specify that the manifest is from an existing installation, and not from a collection of files in development mode. You can also use this parameter to register an application that the Package Manager API has staged. Use the Register parameter to specify the location of the app package manifest .xml file from the installation location.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ForceApplicationShutdown

Forces all active processes that are associated with the package or its dependencies to shut down.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Path<String>

Specifies the file path of the app package. An app package has an .appx or .appxbundle file name extension.

Aliases

PSPath

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

true(ByValue)

Accept Wildcard Characters?

false

-Register

Indicates that this cmdlet registers an application in development mode. You can use development mode to install applications from a folder of unpackaged files. You can use the current parameter to test your Windows® Store apps before you deploy them as app packages. To register an existing app package installation, you must specify the DisableDevelopmentMode parameter and the Register parameter. In order to specify dependency packages, specify the DependencyPath parameter and the DisableDevelopmentMode parameter.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Update

Indicates that the package being added is a dependency package update. A dependency package is removed from the user account when the parent app is removed. If you do not use this parameter, the package being added is a primary package and is not removed from the user account if the parent app is removed. To update an already installed package, the new package must have the same package family name.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • System.String[]
  • System.IO.FileInfo

Outputs

The output type is the type of the objects that the cmdlet emits.

  • None

Examples

Example 1: Add an app package

This command adds an app package and the signing certificate that the package contains.

PS C:\> Add-AppxPackage -Path "C:\Users\user1\Desktop\MyApp.appx" –DependencyPath "C:\Users\user1\Desktop\winjs.appx"

Example 2: Add a disabled app package in development mode

This command gets the full path of the package manifest file of an installed Windows Store app, and then registers that package. You can use DisableDevelopmentMode to register an application that is staged by the StagePackageAsync API, has been disabled, or has become corrupted during testing.

PS C:\> $ManifestPath = (Get-AppxPackage -Name "*WindowsCalculator*").InstallLocation + "\Appxmanifest.xml"
PS C:\> Add-AppxPackage -Path $ManifestPath -Register –DisableDevelopmentMode

Get-AppxPackage

Get-AppxPackageManifest

Remove-AppxPackage

PackageManager class

Sideload Apps with DISM