RemovalOptions Enum


Values that modify the removal of a package.

This enumeration supports a bitwise combination of its member values.

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

Windows requirements

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


None 0

No removal options are specified. This is the default deployment behavior.

PreserveApplicationData 4096

Don't remove any application data when the package is removed. This can only apply to packages that were deployed with the DeploymentOptions.DevelopmentMode value. If you specify PreserveApplicationData on an incompatible package, PackageManager.RemovePackageAsync(String, RemovalOptions) returns E_INVALIDARG.

PreserveRoamableApplicationData 128

Don't remove the roamable portion of the app's data when the package is removed. This value is not supported with the PreserveApplicationData and RemoveForAllUsers fields. This field is useful in virtual desktop scenarios when additional work needs to be performed to enable the portable part of the app's state to be roamed between remote servers so that a user's virtual desktop session can be logged onto different servers without loss of app state.

RemoveForAllUsers 524288

Removes a package for all users on the device.


Version history

Windows version SDK version Value added
1809 17763 RemoveForAllUsers
2004 19041 PreserveRoamableApplicationData

Applies to

See also