Share via


DeploymentOptions Enum

Definition

Specifies the package deployment options.

This enumeration supports a bitwise combination of its member values.

public enum class DeploymentOptions
/// [System.Flags]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
enum class DeploymentOptions
[System.Flags]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public enum DeploymentOptions
var value = Windows.Management.Deployment.DeploymentOptions.none
Public Enum DeploymentOptions
Inheritance
DeploymentOptions
Attributes

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)

Fields

Name Value Description
None 0

The default behavior is used.

ForceApplicationShutdown 1

If this package, or any package that depends on this package, is currently in use, the processes associated with the package are shut down forcibly so that registration can continue.

DevelopmentMode 2

When you set this option, the app is installed in development mode. For info about development mode, see Remarks. Use this option to enable key app development scenarios.You can't use this option in conjunction with a bundle package. If you use this option with a bundle package, your call returns ERROR_INSTALL_FAILED.

InstallAllResources 32

When you set this option, the app is instructed to skip resource applicability checks. This effectively stages or registers all resource packages that a user passes in to the command, which forces applicability for all packages contained in a bundle. If a user passes in a bundle, all contained resource packages will be registered. Windows only.

ForceTargetApplicationShutdown 64

If this package is currently in use, the processes associated with the package are shut down forcibly so that registration can continue.

RequiredContentGroupOnly 256

When you set this option, only the required content group will be staged. An app can be installed as a package with the required content group alone.

ForceUpdateFromAnyVersion 262144

Force a specific version of a package to be staged/registered, regardless of if a higher version is already staged/registered.

RetainFilesOnFailure 2097152

In the case of a failed deployment, do not remove files that have been created on the target machine during the install process.

StageInPlace 4194304

When you set this option, the package will be staged in place. This field is useful for notifying the system to prepare for app registration in virtual desktop scenarios.

Remarks

You can use the DevelopmentMode option to install apps without requiring an app package. Instead, the deployment engine processes the AppxManifest.xml file directly, which allows for a more rapid development cycle. The BlockMap.xml, [Content_Types].xml, and digital signature files are not required for app installation in DevelopmentMode.

To successfully install an app in DevelopmentMode, it must meet these additional conditions beyond what is typically required for UWP apps:

  • The app must be unique to the current user account. No other user can have an app with the same package family name installed on the computer.
  • If a previous version of the app was installed, the previous version must also be installed in DevelopmentMode. UWP apps can't be updated with a DevelopmentMode app and vice versa.
  • The app must be on an Microsoft Windows NT File System (NTFS) partition. Partitions with other formats are unsupported.
  • The app must be on a local drive. Installation from network locations is unsupported.
  • The app must be in an unencrypted location. Installation from encrypted directories is unsupported.
  • The app can't be installed from the WindowsApps directory. If any of the preceding conditions aren't met, installation fails.

Additionally, to simplify and enhance the app development experience, these key operating system behaviors are modified when an app is installed in DevelopmentMode:

  • App payload files can be modified. If you modify an app payload file, the changes are reflected next time the app is launched. You don't need to reinstall the app unless you modify the AppxManifest.xml file.
  • Bytecode generation and NGEN are disabled. JS bytecode generation and .NET binary NGEN are disabled on DevelopmentMode packages to let you modify payload files without reinstalling your app.
  • App payload files aren't removed when the app is uninstalled. Because these files are potentially your source code, Windows doesn't delete these files when an app is uninstalled.
  • Network loopback is allowed. You must opt-in to network loopback as described in How to enable loopback and troubleshoot network isolation.
  • The app can be launched in DesignMode. For info about the DesignMode class, see DesignMode class.

Version history

Windows version SDK version Value added
1703 15063 RequiredContentGroupOnly
1809 17763 ForceUpdateFromAnyVersion
1903 18362 RetainFilesOnFailure
2004 19041 StageInPlace

Applies to

See also