//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0021
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "windowscontracts.idl";
import "Windows.Foundation.idl";
import "Windows.ApplicationModel.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        runtimeclass AppInstallerInfo;

        runtimeclass Package;

        typedef enum PackageContentGroupState PackageContentGroupState;

        typedef struct PackageVersion PackageVersion;
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Management
    {
        namespace Deployment
        {
            apicontract SharedPackageContainerContract;

            typedef enum AddPackageByAppInstallerOptions AddPackageByAppInstallerOptions;

            typedef enum DeploymentOptions DeploymentOptions;

            typedef enum DeploymentProgressState DeploymentProgressState;

            typedef enum PackageInstallState PackageInstallState;

            typedef enum PackageOperationPriority PackageOperationPriority;

            typedef enum PackageState PackageState;

            typedef enum PackageStatus PackageStatus;

            typedef enum PackageStubPreference PackageStubPreference;

            typedef enum PackageTypes PackageTypes;

            typedef enum RemovalOptions RemovalOptions;

            typedef enum SharedPackageContainerCreationCollisionOptions SharedPackageContainerCreationCollisionOptions;

            typedef enum SharedPackageContainerOperationStatus SharedPackageContainerOperationStatus;

            typedef enum StubPackageOption StubPackageOption;

            typedef struct DeploymentProgress DeploymentProgress;

            interface IAddPackageOptions;

            interface IAddPackageOptions2;

            interface IAddPackageOptions3;

            interface IAppInstallerManager;

            interface IAppInstallerManagerStatics;

            interface IAutoUpdateSettingsOptions;

            interface IAutoUpdateSettingsOptionsStatics;

            interface ICreateSharedPackageContainerOptions;

            interface ICreateSharedPackageContainerResult;

            interface IDeleteSharedPackageContainerOptions;

            interface IDeleteSharedPackageContainerResult;

            interface IDeploymentResult;

            interface IDeploymentResult2;

            interface IFindSharedPackageContainerOptions;

            interface IPackageAllUserProvisioningOptions;

            interface IPackageAllUserProvisioningOptions2;

            interface IPackageManager;

            interface IPackageManager10;

            interface IPackageManager11;

            interface IPackageManager12;

            interface IPackageManager2;

            interface IPackageManager3;

            interface IPackageManager4;

            interface IPackageManager5;

            interface IPackageManager6;

            interface IPackageManager7;

            interface IPackageManager8;

            interface IPackageManager9;

            interface IPackageManagerDebugSettings;

            interface IPackageUserInformation;

            interface IPackageVolume;

            interface IPackageVolume2;

            interface IRegisterPackageOptions;

            interface IRegisterPackageOptions2;

            interface IRemovePackageOptions;

            interface IRemovePackageOptions2;

            interface ISharedPackageContainer;

            interface ISharedPackageContainerManager;

            interface ISharedPackageContainerManagerStatics;

            interface ISharedPackageContainerMember;

            interface ISharedPackageContainerMemberFactory;

            interface IStagePackageOptions;

            interface IStagePackageOptions2;

            interface IStagePackageOptions3;

            interface IUpdateSharedPackageContainerOptions;

            interface IUpdateSharedPackageContainerResult;

            runtimeclass AddPackageOptions;

            runtimeclass AppInstallerManager;

            runtimeclass AutoUpdateSettingsOptions;

            runtimeclass CreateSharedPackageContainerOptions;

            runtimeclass CreateSharedPackageContainerResult;

            runtimeclass DeleteSharedPackageContainerOptions;

            runtimeclass DeleteSharedPackageContainerResult;

            runtimeclass DeploymentResult;

            runtimeclass FindSharedPackageContainerOptions;

            runtimeclass PackageAllUserProvisioningOptions;

            runtimeclass PackageManager;

            runtimeclass PackageManagerDebugSettings;

            runtimeclass PackageUserInformation;

            runtimeclass PackageVolume;

            runtimeclass RegisterPackageOptions;

            runtimeclass RemovePackageOptions;

            runtimeclass SharedPackageContainer;

            runtimeclass SharedPackageContainerManager;

            runtimeclass SharedPackageContainerMember;

            runtimeclass StagePackageOptions;

            runtimeclass UpdateSharedPackageContainerOptions;

            runtimeclass UpdateSharedPackageContainerResult;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Management
    {
        namespace Deployment
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.PackageUserInformation*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.PackageVolume*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.SharedPackageContainer*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.SharedPackageContainerMember*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Management.Deployment.PackageUserInformation*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Management.Deployment.PackageVolume*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Management.Deployment.SharedPackageContainer*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Management.Deployment.SharedPackageContainerMember*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Management.Deployment.PackageVolume*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Management.Deployment.SharedPackageContainer*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Management.Deployment.SharedPackageContainerMember*>;

                interface Windows.Foundation.Collections.IVector<Windows.Management.Deployment.SharedPackageContainer*>;

                interface Windows.Foundation.Collections.IVector<Windows.Management.Deployment.SharedPackageContainerMember*>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>;

                interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Management.Deployment.PackageVolume*>*>;

                interface Windows.Foundation.IAsyncOperation<Windows.Management.Deployment.PackageVolume*>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Management
    {
        namespace Deployment
        {
            [contractversion(1.0)]
            apicontract SharedPackageContainerContract
            {
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [flags]
            enum AddPackageByAppInstallerOptions
            {
                None                     = 0x0,
                InstallAllResources      = 0x20,
                ForceTargetAppShutdown   = 0x40,
                RequiredContentGroupOnly = 0x100,
                [contract(Windows.Foundation.UniversalApiContract, 8.0)]
                LimitToExistingPackages  = 0x200
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum DeploymentOptions
            {
                None                           = 0x0,
                ForceApplicationShutdown       = 0x1,
                DevelopmentMode                = 0x2,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                InstallAllResources            = 0x20,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                ForceTargetApplicationShutdown = 0x40,
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                RequiredContentGroupOnly       = 0x100,
                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                ForceUpdateFromAnyVersion      = 0x40000,
                [contract(Windows.Foundation.UniversalApiContract, 10.0)]
                RetainFilesOnFailure           = 0x200000,
                [contract(Windows.Foundation.UniversalApiContract, 10.0)]
                StageInPlace                   = 0x400000
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum DeploymentProgressState
            {
                Queued     = 0,
                Processing = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PackageInstallState
            {
                NotInstalled = 0,
                Staged       = 1,
                Installed    = 2,
                [contract(Windows.Foundation.UniversalApiContract, 2.0)]
                Paused       = 6
            };

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            enum PackageOperationPriority
            {
                Low    = 0,
                Normal = 1,
                High   = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum PackageState
            {
                Normal         = 0,
                LicenseInvalid = 1,
                Modified       = 2,
                Tampered       = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum PackageStatus
            {
                OK           = 0x0,
                LicenseIssue = 0x1,
                Modified     = 0x2,
                Tampered     = 0x4,
                Disabled     = 0x8
            };

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            enum PackageStubPreference
            {
                Full = 0,
                Stub = 1
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum PackageTypes
            {
                None      = 0x0,
                Main      = 0x1,
                Framework = 0x2,
                Resource  = 0x4,
                Bundle    = 0x8,
                [contract(Windows.Foundation.UniversalApiContract, 1.0)]
                Xap       = 0x10,
                [contract(Windows.Foundation.UniversalApiContract, 3.0)]
                Optional  = 0x20,
                [contract(Windows.Foundation.UniversalApiContract, 10.0)]
                All       = 0xFFFFFFFF
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [flags]
            enum RemovalOptions
            {
                None                             = 0x0,
                PreserveApplicationData          = 0x1000,
                [contract(Windows.Foundation.UniversalApiContract, 10.0)]
                PreserveRoamableApplicationData  = 0x80,
                [contract(Windows.Foundation.UniversalApiContract, 19.0)]
                DeferRemovalWhenPackagesAreInUse = 0x2000,
                [contract(Windows.Foundation.UniversalApiContract, 7.0)]
                RemoveForAllUsers                = 0x80000
            };

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            enum SharedPackageContainerCreationCollisionOptions
            {
                FailIfExists      = 0,
                MergeWithExisting = 1,
                ReplaceExisting   = 2
            };

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            enum SharedPackageContainerOperationStatus
            {
                Success                               = 0,
                BlockedByPolicy                       = 1,
                AlreadyExists                         = 2,
                PackageFamilyExistsInAnotherContainer = 3,
                NotFound                              = 4,
                UnknownFailure                        = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            enum StubPackageOption
            {
                Default       = 0,
                InstallFull   = 1,
                InstallStub   = 2,
                UsePreference = 3
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct DeploymentProgress
            {
                Windows.Management.Deployment.DeploymentProgressState state;
                UINT32 percentage;
            };

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Management.Deployment.AddPackageOptions)]
            [uuid(05CEE018-F68F-422B-95A4-66679EC77FC0)]
            interface IAddPackageOptions : IInspectable
            {
                [propget] HRESULT DependencyPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT TargetVolume([out] [retval] Windows.Management.Deployment.PackageVolume** value);
                [propput] HRESULT TargetVolume([in] Windows.Management.Deployment.PackageVolume* value);
                [propget] HRESULT OptionalPackageFamilyNames([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT OptionalPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT RelatedPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT ExternalLocationUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT ExternalLocationUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT StubPackageOption([out] [retval] Windows.Management.Deployment.StubPackageOption* value);
                [propput] HRESULT StubPackageOption([in] Windows.Management.Deployment.StubPackageOption value);
                [propget] HRESULT DeveloperMode([out] [retval] boolean* value);
                [propput] HRESULT DeveloperMode([in] boolean value);
                [propget] HRESULT ForceAppShutdown([out] [retval] boolean* value);
                [propput] HRESULT ForceAppShutdown([in] boolean value);
                [propget] HRESULT ForceTargetAppShutdown([out] [retval] boolean* value);
                [propput] HRESULT ForceTargetAppShutdown([in] boolean value);
                [propget] HRESULT ForceUpdateFromAnyVersion([out] [retval] boolean* value);
                [propput] HRESULT ForceUpdateFromAnyVersion([in] boolean value);
                [propget] HRESULT InstallAllResources([out] [retval] boolean* value);
                [propput] HRESULT InstallAllResources([in] boolean value);
                [propget] HRESULT RequiredContentGroupOnly([out] [retval] boolean* value);
                [propput] HRESULT RequiredContentGroupOnly([in] boolean value);
                [propget] HRESULT RetainFilesOnFailure([out] [retval] boolean* value);
                [propput] HRESULT RetainFilesOnFailure([in] boolean value);
                [propget] HRESULT StageInPlace([out] [retval] boolean* value);
                [propput] HRESULT StageInPlace([in] boolean value);
                [propget] HRESULT AllowUnsigned([out] [retval] boolean* value);
                [propput] HRESULT AllowUnsigned([in] boolean value);
                [propget] HRESULT DeferRegistrationWhenPackagesAreInUse([out] [retval] boolean* value);
                [propput] HRESULT DeferRegistrationWhenPackagesAreInUse([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Management.Deployment.AddPackageOptions)]
            [uuid(EE515828-BF33-40F7-84AF-1B6FAD2919D7)]
            interface IAddPackageOptions2 : IInspectable
            {
                [propget] HRESULT ExpectedDigests([out] [retval] Windows.Foundation.Collections.IMap<Windows.Foundation.Uri*, HSTRING>** value);
                [propget] HRESULT LimitToExistingPackages([out] [retval] boolean* value);
                [propput] HRESULT LimitToExistingPackages([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Management.Deployment.AddPackageOptions)]
            [uuid(CBA622A7-AA31-45AB-8B88-40D08B0A8B27)]
            interface IAddPackageOptions3 : IInspectable
            {
                [propget] HRESULT PackageOperationPriority([out] [retval] Windows.Management.Deployment.PackageOperationPriority* value);
                [propput] HRESULT PackageOperationPriority([in] Windows.Management.Deployment.PackageOperationPriority value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Management.Deployment.AppInstallerManager)]
            [uuid(E7EE21C3-2103-53EE-9B18-68AFEAB0033D)]
            interface IAppInstallerManager : IInspectable
            {
                HRESULT SetAutoUpdateSettings([in] HSTRING packageFamilyName, [in] Windows.Management.Deployment.AutoUpdateSettingsOptions* appInstallerInfo);
                HRESULT ClearAutoUpdateSettings([in] HSTRING packageFamilyName);
                HRESULT PauseAutoUpdatesUntil([in] HSTRING packageFamilyName, [in] Windows.Foundation.DateTime dateTime);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Management.Deployment.AppInstallerManager)]
            [uuid(C95A6ED5-FC59-5336-9B2E-2B07C5E61434)]
            interface IAppInstallerManagerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Management.Deployment.AppInstallerManager** result);
                HRESULT GetForSystem([out] [retval] Windows.Management.Deployment.AppInstallerManager** result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Management.Deployment.AutoUpdateSettingsOptions)]
            [uuid(67491D87-35E1-512A-8968-1AE88D1BE6D3)]
            interface IAutoUpdateSettingsOptions : IInspectable
            {
                [propget] HRESULT Version([out] [retval] Windows.ApplicationModel.PackageVersion* value);
                [propput] HRESULT Version([in] Windows.ApplicationModel.PackageVersion value);
                [propget] HRESULT AppInstallerUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT AppInstallerUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT OnLaunch([out] [retval] boolean* value);
                [propput] HRESULT OnLaunch([in] boolean value);
                [propget] HRESULT HoursBetweenUpdateChecks([out] [retval] UINT32* value);
                [propput] HRESULT HoursBetweenUpdateChecks([in] UINT32 value);
                [propget] HRESULT ShowPrompt([out] [retval] boolean* value);
                [propput] HRESULT ShowPrompt([in] boolean value);
                [propget] HRESULT UpdateBlocksActivation([out] [retval] boolean* value);
                [propput] HRESULT UpdateBlocksActivation([in] boolean value);
                [propget] HRESULT AutomaticBackgroundTask([out] [retval] boolean* value);
                [propput] HRESULT AutomaticBackgroundTask([in] boolean value);
                [propget] HRESULT ForceUpdateFromAnyVersion([out] [retval] boolean* value);
                [propput] HRESULT ForceUpdateFromAnyVersion([in] boolean value);
                [propget] HRESULT IsAutoRepairEnabled([out] [retval] boolean* value);
                [propput] HRESULT IsAutoRepairEnabled([in] boolean value);
                [propget] HRESULT UpdateUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT RepairUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT DependencyPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT OptionalPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Management.Deployment.AutoUpdateSettingsOptions)]
            [uuid(887B337D-0C05-54D0-BD49-3BB7A2C084CB)]
            interface IAutoUpdateSettingsOptionsStatics : IInspectable
            {
                HRESULT CreateFromAppInstallerInfo([in] Windows.ApplicationModel.AppInstallerInfo* appInstallerInfo, [out] [retval] Windows.Management.Deployment.AutoUpdateSettingsOptions** result);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.CreateSharedPackageContainerOptions)]
            [uuid(C2AB6ECE-F664-5C8E-A4B3-2A33276D3DDE)]
            interface ICreateSharedPackageContainerOptions : IInspectable
            {
                [propget] HRESULT Members([out] [retval] Windows.Foundation.Collections.IVector<Windows.Management.Deployment.SharedPackageContainerMember*>** value);
                [propget] HRESULT ForceAppShutdown([out] [retval] boolean* value);
                [propput] HRESULT ForceAppShutdown([in] boolean value);
                [propget] HRESULT CreateCollisionOption([out] [retval] Windows.Management.Deployment.SharedPackageContainerCreationCollisionOptions* value);
                [propput] HRESULT CreateCollisionOption([in] Windows.Management.Deployment.SharedPackageContainerCreationCollisionOptions value);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.CreateSharedPackageContainerResult)]
            [uuid(CE8810BF-151C-5707-B936-497E564AFC7A)]
            interface ICreateSharedPackageContainerResult : IInspectable
            {
                [propget] HRESULT Container([out] [retval] Windows.Management.Deployment.SharedPackageContainer** value);
                [propget] HRESULT Status([out] [retval] Windows.Management.Deployment.SharedPackageContainerOperationStatus* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.DeleteSharedPackageContainerOptions)]
            [uuid(9D81865F-986E-5138-8B5D-384D8E66ED6C)]
            interface IDeleteSharedPackageContainerOptions : IInspectable
            {
                [propget] HRESULT ForceAppShutdown([out] [retval] boolean* value);
                [propput] HRESULT ForceAppShutdown([in] boolean value);
                [propget] HRESULT AllUsers([out] [retval] boolean* value);
                [propput] HRESULT AllUsers([in] boolean value);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.DeleteSharedPackageContainerResult)]
            [uuid(35398884-5736-517B-85BC-E598C81AB284)]
            interface IDeleteSharedPackageContainerResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Management.Deployment.SharedPackageContainerOperationStatus* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.DeploymentResult)]
            [uuid(2563B9AE-B77D-4C1F-8A7B-20E6AD515EF3)]
            interface IDeploymentResult : IInspectable
            {
                [propget] HRESULT ErrorText([out] [retval] HSTRING* value);
                [propget] HRESULT ActivityId([out] [retval] GUID* value);
                [propget] HRESULT ExtendedErrorCode([out] [retval] HRESULT* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Management.Deployment.DeploymentResult)]
            [uuid(FC0E715C-5A01-4BD7-BCF1-381C8C82E04A)]
            interface IDeploymentResult2 : IInspectable
            {
                [propget] HRESULT IsRegistered([out] [retval] boolean* value);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.FindSharedPackageContainerOptions)]
            [uuid(B40FC8FE-8384-54CC-817D-AE09D3B6A606)]
            interface IFindSharedPackageContainerOptions : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT PackageFamilyName([out] [retval] HSTRING* value);
                [propput] HRESULT PackageFamilyName([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Management.Deployment.PackageAllUserProvisioningOptions)]
            [uuid(DA35AA22-1DE0-5D3E-99FF-D24F3118BF5E)]
            interface IPackageAllUserProvisioningOptions : IInspectable
            {
                [propget] HRESULT OptionalPackageFamilyNames([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT ProjectionOrderPackageFamilyNames([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 17.0)]
            [exclusiveto(Windows.Management.Deployment.PackageAllUserProvisioningOptions)]
            [uuid(B9E3CAB5-2D97-579F-9368-D10BB4D4542B)]
            interface IPackageAllUserProvisioningOptions2 : IInspectable
            {
                [propget] HRESULT DeferAutomaticRegistration([out] [retval] boolean* value);
                [propput] HRESULT DeferAutomaticRegistration([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(9A7D4B65-5E8F-4FC7-A2E5-7F6925CB8B53)]
            interface IPackageManager : IInspectable
            {
                [overload("AddPackageAsync")] HRESULT AddPackageAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                HRESULT UpdatePackageAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                HRESULT RemovePackageAsync([in] HSTRING packageFullName, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                HRESULT StagePackageAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("RegisterPackageAsync")] HRESULT RegisterPackageAsync([in] Windows.Foundation.Uri* manifestUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("FindPackages")] HRESULT FindPackages([out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUser")] HRESULT FindPackagesByUserSecurityId([in] HSTRING userSecurityId, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackages")] HRESULT FindPackagesByNamePublisher([in] HSTRING packageName, [in] HSTRING packagePublisher, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUser")] HRESULT FindPackagesByUserSecurityIdNamePublisher([in] HSTRING userSecurityId, [in] HSTRING packageName, [in] HSTRING packagePublisher, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                HRESULT FindUsers([in] HSTRING packageFullName, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.PackageUserInformation*>** users);
                HRESULT SetPackageState([in] HSTRING packageFullName, [in] Windows.Management.Deployment.PackageState packageState);
                [overload("FindPackage")] HRESULT FindPackageByPackageFullName([in] HSTRING packageFullName, [out] [retval] Windows.ApplicationModel.Package** packageInformation);
                HRESULT CleanupPackageForUserAsync([in] HSTRING packageName, [in] HSTRING userSecurityId, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("FindPackages")] HRESULT FindPackagesByPackageFamilyName([in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUser")] HRESULT FindPackagesByUserSecurityIdPackageFamilyName([in] HSTRING userSecurityId, [in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackageForUser")] HRESULT FindPackageByUserSecurityIdPackageFullName([in] HSTRING userSecurityId, [in] HSTRING packageFullName, [out] [retval] Windows.ApplicationModel.Package** packageInformation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(A7D7D07E-2E66-4093-AED5-E093ED87B3BB)]
            interface IPackageManager10 : IInspectable
            {
                [overload("ProvisionPackageForAllUsersAsync")] HRESULT ProvisionPackageForAllUsersWithOptionsAsync([in] HSTRING mainPackageFamilyName, [in] Windows.Management.Deployment.PackageAllUserProvisioningOptions* options, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 18.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(12950B24-C77E-4EA7-8859-325318074E15)]
            interface IPackageManager11 : IInspectable
            {
                HRESULT RemovePackageByUriAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Management.Deployment.RemovePackageOptions* options, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(5D233ADF-F9E3-4D96-B40D-96788E39539F)]
            interface IPackageManager12 : IInspectable
            {
                HRESULT IsPackageRemovalPending([in] HSTRING packageFullName, [out] [retval] boolean* result);
                HRESULT IsPackageRemovalPendingForUser([in] HSTRING packageFullName, [in] HSTRING userSecurityId, [out] [retval] boolean* result);
                HRESULT IsPackageRemovalPendingByUri([in] Windows.Foundation.Uri* packageUri, [out] [retval] boolean* result);
                HRESULT IsPackageRemovalPendingByUriForUser([in] Windows.Foundation.Uri* packageUri, [in] HSTRING userSecurityId, [out] [retval] boolean* result);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(F7AAD08D-0840-46F2-B5D8-CAD47693A095)]
            interface IPackageManager2 : IInspectable
            {
                [overload("RemovePackageAsync")] HRESULT RemovePackageWithOptionsAsync([in] HSTRING packageFullName, [in] Windows.Management.Deployment.RemovalOptions removalOptions, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("StagePackageAsync")] HRESULT StagePackageWithOptionsAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                HRESULT RegisterPackageByFullNameAsync([in] HSTRING mainPackageFullName, [in] Windows.Foundation.Collections.IIterable<HSTRING>* dependencyPackageFullNames, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("FindPackagesWithPackageTypes")] HRESULT FindPackagesWithPackageTypes([in] Windows.Management.Deployment.PackageTypes packageTypes, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUserWithPackageTypes")] HRESULT FindPackagesByUserSecurityIdWithPackageTypes([in] HSTRING userSecurityId, [in] Windows.Management.Deployment.PackageTypes packageTypes, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesWithPackageTypes")] HRESULT FindPackagesByNamePublisherWithPackageTypes([in] HSTRING packageName, [in] HSTRING packagePublisher, [in] Windows.Management.Deployment.PackageTypes packageTypes, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUserWithPackageTypes")] HRESULT FindPackagesByUserSecurityIdNamePublisherWithPackageTypes([in] HSTRING userSecurityId, [in] HSTRING packageName, [in] HSTRING packagePublisher, [in] Windows.Management.Deployment.PackageTypes packageTypes, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesWithPackageTypes")] HRESULT FindPackagesByPackageFamilyNameWithPackageTypes([in] HSTRING packageFamilyName, [in] Windows.Management.Deployment.PackageTypes packageTypes, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUserWithPackageTypes")] HRESULT FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes([in] HSTRING userSecurityId, [in] HSTRING packageFamilyName, [in] Windows.Management.Deployment.PackageTypes packageTypes, [out] [retval] Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("StageUserDataAsync")] HRESULT StageUserDataAsync([in] HSTRING packageFullName, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(DAAD9948-36F1-41A7-9188-BC263E0DCB72)]
            interface IPackageManager3 : IInspectable
            {
                HRESULT AddPackageVolumeAsync([in] HSTRING packageStorePath, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Management.Deployment.PackageVolume*>** packageVolume);
                [overload("AddPackageAsync")] HRESULT AddPackageToVolumeAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                HRESULT ClearPackageStatus([in] HSTRING packageFullName, [in] Windows.Management.Deployment.PackageStatus status);
                [overload("RegisterPackageAsync")] HRESULT RegisterPackageWithAppDataVolumeAsync([in] Windows.Foundation.Uri* manifestUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* appDataVolume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("FindPackageVolume")] HRESULT FindPackageVolumeByName([in] HSTRING volumeName, [out] [retval] Windows.Management.Deployment.PackageVolume** volume);
                HRESULT FindPackageVolumes([out] [retval] Windows.Foundation.Collections.IIterable<Windows.Management.Deployment.PackageVolume*>** volumeCollection);
                HRESULT GetDefaultPackageVolume([out] [retval] Windows.Management.Deployment.PackageVolume** volume);
                HRESULT MovePackageToVolumeAsync([in] HSTRING packageFullName, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                HRESULT RemovePackageVolumeAsync([in] Windows.Management.Deployment.PackageVolume* volume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                HRESULT SetDefaultPackageVolume([in] Windows.Management.Deployment.PackageVolume* volume);
                HRESULT SetPackageStatus([in] HSTRING packageFullName, [in] Windows.Management.Deployment.PackageStatus status);
                HRESULT SetPackageVolumeOfflineAsync([in] Windows.Management.Deployment.PackageVolume* packageVolume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                HRESULT SetPackageVolumeOnlineAsync([in] Windows.Management.Deployment.PackageVolume* packageVolume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("StagePackageAsync")] HRESULT StagePackageToVolumeAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("StageUserDataAsync")] HRESULT StageUserDataWithOptionsAsync([in] HSTRING packageFullName, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(3C719963-BAB6-46BF-8FF7-DA4719230AE6)]
            interface IPackageManager4 : IInspectable
            {
                HRESULT GetPackageVolumesAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Management.Deployment.PackageVolume*>*>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(711F3117-1AFD-4313-978C-9BB6E1B864A7)]
            interface IPackageManager5 : IInspectable
            {
                [default_overload] [overload("AddPackageAsync")] HRESULT AddPackageToVolumeAndOptionalPackagesAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [in] Windows.Foundation.Collections.IIterable<HSTRING>* optionalPackageFamilyNames, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* externalPackageUris, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [default_overload] [overload("StagePackageAsync")] HRESULT StagePackageToVolumeAndOptionalPackagesAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [in] Windows.Foundation.Collections.IIterable<HSTRING>* optionalPackageFamilyNames, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* externalPackageUris, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("RegisterPackageByFamilyNameAsync")] HRESULT RegisterPackageByFamilyNameAndOptionalPackagesAsync([in] HSTRING mainPackageFamilyName, [in] Windows.Foundation.Collections.IIterable<HSTRING>* dependencyPackageFamilyNames, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* appDataVolume, [in] Windows.Foundation.Collections.IIterable<HSTRING>* optionalPackageFamilyNames, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [propget] HRESULT DebugSettings([out] [retval] Windows.Management.Deployment.PackageManagerDebugSettings** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 5.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(0847E909-53CD-4E4F-832E-57D180F6E447)]
            interface IPackageManager6 : IInspectable
            {
                HRESULT ProvisionPackageForAllUsersAsync([in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
                HRESULT AddPackageByAppInstallerFileAsync([in] Windows.Foundation.Uri* appInstallerFileUri, [in] Windows.Management.Deployment.AddPackageByAppInstallerOptions options, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
                HRESULT RequestAddPackageByAppInstallerFileAsync([in] Windows.Foundation.Uri* appInstallerFileUri, [in] Windows.Management.Deployment.AddPackageByAppInstallerOptions options, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
                [overload("AddPackageAsync")] HRESULT AddPackageToVolumeAndRelatedSetAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions options, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [in] Windows.Foundation.Collections.IIterable<HSTRING>* optionalPackageFamilyNames, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* packageUrisToInstall, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* relatedPackageUris, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
                [overload("StagePackageAsync")] HRESULT StagePackageToVolumeAndRelatedSetAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions options, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [in] Windows.Foundation.Collections.IIterable<HSTRING>* optionalPackageFamilyNames, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* packageUrisToInstall, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* relatedPackageUris, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
                HRESULT RequestAddPackageAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [in] Windows.Foundation.Collections.IIterable<HSTRING>* optionalPackageFamilyNames, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* relatedPackageUris, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 6.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(F28654F4-2BA7-4B80-88D6-BE15F9A23FBA)]
            interface IPackageManager7 : IInspectable
            {
                [overload("RequestAddPackageAsync")] HRESULT RequestAddPackageAndRelatedSetAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* dependencyPackageUris, [in] Windows.Management.Deployment.DeploymentOptions deploymentOptions, [in] Windows.Management.Deployment.PackageVolume* targetVolume, [in] Windows.Foundation.Collections.IIterable<HSTRING>* optionalPackageFamilyNames, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* relatedPackageUris, [in] Windows.Foundation.Collections.IIterable<Windows.Foundation.Uri*>* packageUrisToInstall, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 7.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(B8575330-1298-4EE2-80EE-7F659C5D2782)]
            interface IPackageManager8 : IInspectable
            {
                HRESULT DeprovisionPackageForAllUsersAsync([in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManager)]
            [uuid(1AA79035-CC71-4B2E-80A6-C7041D8579A7)]
            interface IPackageManager9 : IInspectable
            {
                [overload("FindProvisionedPackages")] HRESULT FindProvisionedPackages([out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("AddPackageByUriAsync")] HRESULT AddPackageByUriAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Management.Deployment.AddPackageOptions* options, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("StagePackageByUriAsync")] HRESULT StagePackageByUriAsync([in] Windows.Foundation.Uri* packageUri, [in] Windows.Management.Deployment.StagePackageOptions* options, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("RegisterPackageByUriAsync")] HRESULT RegisterPackageByUriAsync([in] Windows.Foundation.Uri* manifestUri, [in] Windows.Management.Deployment.RegisterPackageOptions* options, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("RegisterPackagesByFullNameAsync")] HRESULT RegisterPackagesByFullNameAsync([in] Windows.Foundation.Collections.IIterable<HSTRING>* packageFullNames, [in] Windows.Management.Deployment.RegisterPackageOptions* options, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Management.Deployment.DeploymentResult*, Windows.Management.Deployment.DeploymentProgress>** deploymentOperation);
                [overload("SetPackageStubPreference")] HRESULT SetPackageStubPreference([in] HSTRING packageFamilyName, [in] Windows.Management.Deployment.PackageStubPreference useStub);
                [overload("GetPackageStubPreference")] HRESULT GetPackageStubPreference([in] HSTRING packageFamilyName, [out] [retval] Windows.Management.Deployment.PackageStubPreference* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [exclusiveto(Windows.Management.Deployment.PackageManagerDebugSettings)]
            [uuid(1A611683-A988-4FCF-8F0F-CE175898E8EB)]
            interface IPackageManagerDebugSettings : IInspectable
            {
                [overload("SetContentGroupStateAsync")] HRESULT SetContentGroupStateAsync([in] Windows.ApplicationModel.Package* package, [in] HSTRING contentGroupName, [in] Windows.ApplicationModel.PackageContentGroupState state, [out] [retval] Windows.Foundation.IAsyncAction** action);
                [overload("SetContentGroupStateAsync")] HRESULT SetContentGroupStateWithPercentageAsync([in] Windows.ApplicationModel.Package* package, [in] HSTRING contentGroupName, [in] Windows.ApplicationModel.PackageContentGroupState state, [in] DOUBLE completionPercentage, [out] [retval] Windows.Foundation.IAsyncAction** action);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.PackageUserInformation)]
            [uuid(F6383423-FA09-4CBC-9055-15CA275E2E7E)]
            interface IPackageUserInformation : IInspectable
            {
                [propget] HRESULT UserSecurityId([out] [retval] HSTRING* value);
                [propget] HRESULT InstallState([out] [retval] Windows.Management.Deployment.PackageInstallState* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.PackageVolume)]
            [uuid(CF2672C3-1A40-4450-9739-2ACE2E898853)]
            interface IPackageVolume : IInspectable
            {
                [propget] HRESULT IsOffline([out] [retval] boolean* value);
                [propget] HRESULT IsSystemVolume([out] [retval] boolean* value);
                [propget] HRESULT MountPoint([out] [retval] HSTRING* value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propget] HRESULT PackageStorePath([out] [retval] HSTRING* value);
                [propget] HRESULT SupportsHardLinks([out] [retval] boolean* value);
                [overload("FindPackages")] HRESULT FindPackages([out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackages")] HRESULT FindPackagesByNamePublisher([in] HSTRING packageName, [in] HSTRING packagePublisher, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackages")] HRESULT FindPackagesByPackageFamilyName([in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesWithPackageTypes")] HRESULT FindPackagesWithPackageTypes([in] Windows.Management.Deployment.PackageTypes packageTypes, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesWithPackageTypes")] HRESULT FindPackagesByNamePublisherWithPackagesTypes([in] Windows.Management.Deployment.PackageTypes packageTypes, [in] HSTRING packageName, [in] HSTRING packagePublisher, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesWithPackageTypes")] HRESULT FindPackagesByPackageFamilyNameWithPackageTypes([in] Windows.Management.Deployment.PackageTypes packageTypes, [in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackage")] HRESULT FindPackageByPackageFullName([in] HSTRING packageFullName, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUser")] HRESULT FindPackagesByUserSecurityId([in] HSTRING userSecurityId, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUser")] HRESULT FindPackagesByUserSecurityIdNamePublisher([in] HSTRING userSecurityId, [in] HSTRING packageName, [in] HSTRING packagePublisher, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUser")] HRESULT FindPackagesByUserSecurityIdPackageFamilyName([in] HSTRING userSecurityId, [in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUserWithPackageTypes")] HRESULT FindPackagesByUserSecurityIdWithPackageTypes([in] HSTRING userSecurityId, [in] Windows.Management.Deployment.PackageTypes packageTypes, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUserWithPackageTypes")] HRESULT FindPackagesByUserSecurityIdNamePublisherWithPackageTypes([in] HSTRING userSecurityId, [in] Windows.Management.Deployment.PackageTypes packageTypes, [in] HSTRING packageName, [in] HSTRING packagePublisher, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackagesForUserWithPackageTypes")] HRESULT FindPackagesByUserSecurityIdPackageFamilyNameWithPackagesTypes([in] HSTRING userSecurityId, [in] Windows.Management.Deployment.PackageTypes packageTypes, [in] HSTRING packageFamilyName, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
                [overload("FindPackageForUser")] HRESULT FindPackageByUserSecurityIdPackageFullName([in] HSTRING userSecurityId, [in] HSTRING packageFullName, [out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.Package*>** packageCollection);
            }

            [contract(Windows.Foundation.UniversalApiContract, 3.0)]
            [exclusiveto(Windows.Management.Deployment.PackageVolume)]
            [uuid(46ABCF2E-9DD4-47A2-AB8C-C6408349BCD8)]
            interface IPackageVolume2 : IInspectable
            {
                [propget] HRESULT IsFullTrustPackageSupported([out] [retval] boolean* value);
                [propget] HRESULT IsAppxInstallSupported([out] [retval] boolean* value);
                HRESULT GetAvailableSpaceAsync([out] [retval] Windows.Foundation.IAsyncOperation<UINT64>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Management.Deployment.RegisterPackageOptions)]
            [uuid(677112A7-50D4-496C-8415-0602B4C6D3BF)]
            interface IRegisterPackageOptions : IInspectable
            {
                [propget] HRESULT DependencyPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT AppDataVolume([out] [retval] Windows.Management.Deployment.PackageVolume** value);
                [propput] HRESULT AppDataVolume([in] Windows.Management.Deployment.PackageVolume* value);
                [propget] HRESULT OptionalPackageFamilyNames([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT ExternalLocationUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT ExternalLocationUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT DeveloperMode([out] [retval] boolean* value);
                [propput] HRESULT DeveloperMode([in] boolean value);
                [propget] HRESULT ForceAppShutdown([out] [retval] boolean* value);
                [propput] HRESULT ForceAppShutdown([in] boolean value);
                [propget] HRESULT ForceTargetAppShutdown([out] [retval] boolean* value);
                [propput] HRESULT ForceTargetAppShutdown([in] boolean value);
                [propget] HRESULT ForceUpdateFromAnyVersion([out] [retval] boolean* value);
                [propput] HRESULT ForceUpdateFromAnyVersion([in] boolean value);
                [propget] HRESULT InstallAllResources([out] [retval] boolean* value);
                [propput] HRESULT InstallAllResources([in] boolean value);
                [propget] HRESULT StageInPlace([out] [retval] boolean* value);
                [propput] HRESULT StageInPlace([in] boolean value);
                [propget] HRESULT AllowUnsigned([out] [retval] boolean* value);
                [propput] HRESULT AllowUnsigned([in] boolean value);
                [propget] HRESULT DeferRegistrationWhenPackagesAreInUse([out] [retval] boolean* value);
                [propput] HRESULT DeferRegistrationWhenPackagesAreInUse([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Management.Deployment.RegisterPackageOptions)]
            [uuid(3DFA9743-86FF-4A11-BC93-434EB6BE3A0B)]
            interface IRegisterPackageOptions2 : IInspectable
            {
                [propget] HRESULT ExpectedDigests([out] [retval] Windows.Foundation.Collections.IMap<Windows.Foundation.Uri*, HSTRING>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 18.0)]
            [exclusiveto(Windows.Management.Deployment.RemovePackageOptions)]
            [uuid(13CF01F3-C450-4F7C-A5A3-5E3C631B7462)]
            interface IRemovePackageOptions : IInspectable
            {
                [propget] HRESULT PreserveApplicationData([out] [retval] boolean* value);
                [propput] HRESULT PreserveApplicationData([in] boolean value);
                [propget] HRESULT PreserveRoamableApplicationData([out] [retval] boolean* value);
                [propput] HRESULT PreserveRoamableApplicationData([in] boolean value);
                [propget] HRESULT RemoveForAllUsers([out] [retval] boolean* value);
                [propput] HRESULT RemoveForAllUsers([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Management.Deployment.RemovePackageOptions)]
            [uuid(3FCC61E5-22C5-423B-B4B4-CF10BB50830C)]
            interface IRemovePackageOptions2 : IInspectable
            {
                [propget] HRESULT DeferRemovalWhenPackagesAreInUse([out] [retval] boolean* value);
                [propput] HRESULT DeferRemovalWhenPackagesAreInUse([in] boolean value);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.SharedPackageContainer)]
            [uuid(177F1AA9-151E-5EF7-B1D9-2FBA0B4B0D17)]
            interface ISharedPackageContainer : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                HRESULT GetMembers([out] [retval] Windows.Foundation.Collections.IVector<Windows.Management.Deployment.SharedPackageContainerMember*>** result);
                HRESULT RemovePackageFamily([in] HSTRING packageFamilyName, [in] Windows.Management.Deployment.UpdateSharedPackageContainerOptions* options, [out] [retval] Windows.Management.Deployment.UpdateSharedPackageContainerResult** result);
                HRESULT ResetData([out] [retval] Windows.Management.Deployment.UpdateSharedPackageContainerResult** result);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.SharedPackageContainerManager)]
            [uuid(BE353068-1EF7-5AC8-AB3F-0B9F612F0274)]
            interface ISharedPackageContainerManager : IInspectable
            {
                HRESULT CreateContainer([in] HSTRING name, [in] Windows.Management.Deployment.CreateSharedPackageContainerOptions* options, [out] [retval] Windows.Management.Deployment.CreateSharedPackageContainerResult** result);
                HRESULT DeleteContainer([in] HSTRING id, [in] Windows.Management.Deployment.DeleteSharedPackageContainerOptions* options, [out] [retval] Windows.Management.Deployment.DeleteSharedPackageContainerResult** result);
                HRESULT GetContainer([in] HSTRING id, [out] [retval] Windows.Management.Deployment.SharedPackageContainer** result);
                [overload("FindContainers")] HRESULT FindContainers([out] [retval] Windows.Foundation.Collections.IVector<Windows.Management.Deployment.SharedPackageContainer*>** result);
                [overload("FindContainers")] HRESULT FindContainersWithOptions([in] Windows.Management.Deployment.FindSharedPackageContainerOptions* options, [out] [retval] Windows.Foundation.Collections.IVector<Windows.Management.Deployment.SharedPackageContainer*>** result);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.SharedPackageContainerManager)]
            [uuid(2EF56348-838A-5F55-A89E-1198A2C627E6)]
            interface ISharedPackageContainerManagerStatics : IInspectable
            {
                HRESULT GetDefault([out] [retval] Windows.Management.Deployment.SharedPackageContainerManager** result);
                HRESULT GetForUser([in] HSTRING userSid, [out] [retval] Windows.Management.Deployment.SharedPackageContainerManager** result);
                HRESULT GetForProvisioning([out] [retval] Windows.Management.Deployment.SharedPackageContainerManager** result);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.SharedPackageContainerMember)]
            [uuid(FE0D0438-43C9-5426-B89C-F79BF85DDFF4)]
            interface ISharedPackageContainerMember : IInspectable
            {
                [propget] HRESULT PackageFamilyName([out] [retval] HSTRING* value);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.SharedPackageContainerMember)]
            [uuid(49B0CEEB-498F-5A62-B738-B3CA0D436704)]
            interface ISharedPackageContainerMemberFactory : IInspectable
            {
                HRESULT CreateInstance([in] HSTRING packageFamilyName, [out] [retval] Windows.Management.Deployment.SharedPackageContainerMember** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [exclusiveto(Windows.Management.Deployment.StagePackageOptions)]
            [uuid(0B110C9C-B95D-4C56-BD36-6D656800D06B)]
            interface IStagePackageOptions : IInspectable
            {
                [propget] HRESULT DependencyPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT TargetVolume([out] [retval] Windows.Management.Deployment.PackageVolume** value);
                [propput] HRESULT TargetVolume([in] Windows.Management.Deployment.PackageVolume* value);
                [propget] HRESULT OptionalPackageFamilyNames([out] [retval] Windows.Foundation.Collections.IVector<HSTRING>** value);
                [propget] HRESULT OptionalPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT RelatedPackageUris([out] [retval] Windows.Foundation.Collections.IVector<Windows.Foundation.Uri*>** value);
                [propget] HRESULT ExternalLocationUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT ExternalLocationUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT StubPackageOption([out] [retval] Windows.Management.Deployment.StubPackageOption* value);
                [propput] HRESULT StubPackageOption([in] Windows.Management.Deployment.StubPackageOption value);
                [propget] HRESULT DeveloperMode([out] [retval] boolean* value);
                [propput] HRESULT DeveloperMode([in] boolean value);
                [propget] HRESULT ForceUpdateFromAnyVersion([out] [retval] boolean* value);
                [propput] HRESULT ForceUpdateFromAnyVersion([in] boolean value);
                [propget] HRESULT InstallAllResources([out] [retval] boolean* value);
                [propput] HRESULT InstallAllResources([in] boolean value);
                [propget] HRESULT RequiredContentGroupOnly([out] [retval] boolean* value);
                [propput] HRESULT RequiredContentGroupOnly([in] boolean value);
                [propget] HRESULT StageInPlace([out] [retval] boolean* value);
                [propput] HRESULT StageInPlace([in] boolean value);
                [propget] HRESULT AllowUnsigned([out] [retval] boolean* value);
                [propput] HRESULT AllowUnsigned([in] boolean value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 15.0)]
            [exclusiveto(Windows.Management.Deployment.StagePackageOptions)]
            [uuid(990C4CCC-6226-4192-BA92-79875FCE0D9C)]
            interface IStagePackageOptions2 : IInspectable
            {
                [propget] HRESULT ExpectedDigests([out] [retval] Windows.Foundation.Collections.IMap<Windows.Foundation.Uri*, HSTRING>** value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 19.0)]
            [exclusiveto(Windows.Management.Deployment.StagePackageOptions)]
            [uuid(CE392E55-1743-4945-AD43-9E5ADD4BE96D)]
            interface IStagePackageOptions3 : IInspectable
            {
                [propget] HRESULT PackageOperationPriority([out] [retval] Windows.Management.Deployment.PackageOperationPriority* value);
                [propput] HRESULT PackageOperationPriority([in] Windows.Management.Deployment.PackageOperationPriority value);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.UpdateSharedPackageContainerOptions)]
            [uuid(80672E83-7194-59F9-B5B9-DAA5375F130A)]
            interface IUpdateSharedPackageContainerOptions : IInspectable
            {
                [propget] HRESULT ForceAppShutdown([out] [retval] boolean* value);
                [propput] HRESULT ForceAppShutdown([in] boolean value);
                [propget] HRESULT RequirePackagesPresent([out] [retval] boolean* value);
                [propput] HRESULT RequirePackagesPresent([in] boolean value);
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [exclusiveto(Windows.Management.Deployment.UpdateSharedPackageContainerResult)]
            [uuid(AA407DF7-C72D-5458-AEA3-4645B6A8EE99)]
            interface IUpdateSharedPackageContainerResult : IInspectable
            {
                [propget] HRESULT Status([out] [retval] Windows.Management.Deployment.SharedPackageContainerOperationStatus* value);
                [propget] HRESULT ExtendedError([out] [retval] HRESULT* value);
            }

            [activatable(Windows.Foundation.UniversalApiContract, 10.0)]
            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [marshaling_behavior(agile)]
            runtimeclass AddPackageOptions
            {
                [default] interface Windows.Management.Deployment.IAddPackageOptions;
                [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.Management.Deployment.IAddPackageOptions2;
                [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Management.Deployment.IAddPackageOptions3;
            }

            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Management.Deployment.IAppInstallerManagerStatics, Windows.Foundation.UniversalApiContract, 13.0)]
            [threading(both)]
            runtimeclass AppInstallerManager
            {
                [default] interface Windows.Management.Deployment.IAppInstallerManager;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 13.0)]
            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Management.Deployment.IAutoUpdateSettingsOptionsStatics, Windows.Foundation.UniversalApiContract, 13.0)]
            [threading(both)]
            runtimeclass AutoUpdateSettingsOptions
            {
                [default] interface Windows.Management.Deployment.IAutoUpdateSettingsOptions;
            }

            [activatable(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass CreateSharedPackageContainerOptions
            {
                [default] interface Windows.Management.Deployment.ICreateSharedPackageContainerOptions;
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass CreateSharedPackageContainerResult
            {
                [default] interface Windows.Management.Deployment.ICreateSharedPackageContainerResult;
            }

            [activatable(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass DeleteSharedPackageContainerOptions
            {
                [default] interface Windows.Management.Deployment.IDeleteSharedPackageContainerOptions;
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass DeleteSharedPackageContainerResult
            {
                [default] interface Windows.Management.Deployment.IDeleteSharedPackageContainerResult;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass DeploymentResult
            {
                [default] interface Windows.Management.Deployment.IDeploymentResult;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Management.Deployment.IDeploymentResult2;
            }

            [activatable(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass FindSharedPackageContainerOptions
            {
                [default] interface Windows.Management.Deployment.IFindSharedPackageContainerOptions;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 13.0)]
            [contract(Windows.Foundation.UniversalApiContract, 13.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PackageAllUserProvisioningOptions
            {
                [default] interface Windows.Management.Deployment.IPackageAllUserProvisioningOptions;
                [contract(Windows.Foundation.UniversalApiContract, 17.0)] interface Windows.Management.Deployment.IPackageAllUserProvisioningOptions2;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PackageManager
            {
                [default] interface Windows.Management.Deployment.IPackageManager;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Management.Deployment.IPackageManager2;
                [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Management.Deployment.IPackageManager3;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Management.Deployment.IPackageManager4;
                [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Management.Deployment.IPackageManager5;
                [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Management.Deployment.IPackageManager6;
                [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Management.Deployment.IPackageManager7;
                [contract(Windows.Foundation.UniversalApiContract, 7.0)] interface Windows.Management.Deployment.IPackageManager8;
                [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.Management.Deployment.IPackageManager9;
                [contract(Windows.Foundation.UniversalApiContract, 13.0)] interface Windows.Management.Deployment.IPackageManager10;
                [contract(Windows.Foundation.UniversalApiContract, 18.0)] interface Windows.Management.Deployment.IPackageManager11;
                [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Management.Deployment.IPackageManager12;
            }

            [contract(Windows.Foundation.UniversalApiContract, 4.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PackageManagerDebugSettings
            {
                [default] interface Windows.Management.Deployment.IPackageManagerDebugSettings;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass PackageUserInformation
            {
                [default] interface Windows.Management.Deployment.IPackageUserInformation;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass PackageVolume
            {
                [default] interface Windows.Management.Deployment.IPackageVolume;
                [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Management.Deployment.IPackageVolume2;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 10.0)]
            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [marshaling_behavior(agile)]
            runtimeclass RegisterPackageOptions
            {
                [default] interface Windows.Management.Deployment.IRegisterPackageOptions;
                [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.Management.Deployment.IRegisterPackageOptions2;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 18.0)]
            [contract(Windows.Foundation.UniversalApiContract, 18.0)]
            [marshaling_behavior(agile)]
            runtimeclass RemovePackageOptions
            {
                [default] interface Windows.Management.Deployment.IRemovePackageOptions;
                [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Management.Deployment.IRemovePackageOptions2;
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass SharedPackageContainer
            {
                [default] interface Windows.Management.Deployment.ISharedPackageContainer;
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Management.Deployment.ISharedPackageContainerManagerStatics, Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [threading(both)]
            runtimeclass SharedPackageContainerManager
            {
                [default] interface Windows.Management.Deployment.ISharedPackageContainerManager;
            }

            [activatable(Windows.Management.Deployment.ISharedPackageContainerMemberFactory, Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SharedPackageContainerMember
            {
                [default] interface Windows.Management.Deployment.ISharedPackageContainerMember;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 10.0)]
            [contract(Windows.Foundation.UniversalApiContract, 10.0)]
            [marshaling_behavior(agile)]
            runtimeclass StagePackageOptions
            {
                [default] interface Windows.Management.Deployment.IStagePackageOptions;
                [contract(Windows.Foundation.UniversalApiContract, 15.0)] interface Windows.Management.Deployment.IStagePackageOptions2;
                [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Management.Deployment.IStagePackageOptions3;
            }

            [activatable(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass UpdateSharedPackageContainerOptions
            {
                [default] interface Windows.Management.Deployment.IUpdateSharedPackageContainerOptions;
            }

            [contract(Windows.Management.Deployment.SharedPackageContainerContract, 1.0)]
            [marshaling_behavior(agile)]
            runtimeclass UpdateSharedPackageContainerResult
            {
                [default] interface Windows.Management.Deployment.IUpdateSharedPackageContainerResult;
            }
        }
    }
}
