Packaging, deployment, and query of Windows Store apps

Overview of the Packaging, deployment, and query of Windows Store apps technology.

To develop Packaging, deployment, and query of Windows Store apps, you need these headers:

For programming guidance for this technology, see:

Enumerations

Title Description
AppPolicyClrCompat The AppPolicyClrCompat enumeration indicates the application type of a process so that you can determine whether to enable private reflection and/or make managed objects agile.
AppPolicyCreateFileAccess The AppPolicyCreateFileAccess enumeration indicates whether a process has full or restricted access to the IO devices (file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe).
AppPolicyLifecycleManagement The AppPolicyLifecycleManagement enumeration indicates whether a process is lifecycle-managed or not.
AppPolicyMediaFoundationCodecLoading The AppPolicyMediaFoundationCodecLoading enumeration indicates whether a process’s policy allows it to load non-Windows (third-party) plugins.
AppPolicyProcessTerminationMethod The AppPolicyProcessTerminationMethod enumeration indicates the method used to end a process.
AppPolicyShowDeveloperDiagnostic The AppPolicyShowDeveloperDiagnostic enumeration indicates the method used for a process to surface developer information, such as asserts, to the user.
AppPolicyThreadInitializationType The AppPolicyThreadInitializationType enumeration indicates the kind of initialization that should be automatically performed for a process when beginthread[ex] creates a thread.
AppPolicyWindowingModel The AppPolicyWindowingModel enumeration indicates whether a process uses a CoreWindow-based, or a HWND-based, windowing model.
APPX_BUNDLE_FOOTPRINT_FILE_TYPE Specifies the type of footprint file in a bundle.
APPX_BUNDLE_PAYLOAD_PACKAGE_TYPE Specifies the type of package for a IAppxBundleManifestPackageInfo object.
APPX_CAPABILITIES Specifies the capabilities or privileges requested by a package.
APPX_COMPRESSION_OPTION Specifies the degree of compression used to store the file in the package.
APPX_ENCRYPTED_PACKAGE_OPTIONS Encrypted app package options.
APPX_FOOTPRINT_FILE_TYPE Specifies the type of footprint file in a package.
APPX_PACKAGE_ARCHITECTURE Specifies the processor architectures supported by a package.
APPX_PACKAGE_ARCHITECTURE2 Specifies the processor architectures supported by a package.
APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTIONS Options for app manifest validation when updating the manifest.
APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_OPTION Options to use when updating an app package.
PackageOrigin Specifies the origin of a package.
PackagePathType Indicates the type of package folder to retrieve.

Functions

Title Description
AddAutomaticFile Adds files to an automatic content group in a content group map.
AddAutomaticGroup Adds an automatic content group to the content group map.
AddExternalPackageReference Adds a reference to an external package to the package bundle.
AddExternalPackageReference Adds a reference within the package bundle to an external app package.
AddExternalPackageReference Adds a reference within the encrypted package bundle to an external app package.
AddExternalPackageReference Adds a reference within the encrypted package bundle to an external app package.
AddPackageReference Adds a reference to an optional app package or a payload file within an app bundle.
AddPackageReference Adds a reference to an optional app package or a payload file within an app bundle.
AddPayloadFile Adds a new payload file to the app package.
AddPayloadFileEncrypted Adds a new encrypted payload file to the appx package.
AddPayloadFiles Adds one or more payload files to an app package.
AddPayloadFilesEncrypted Adds one or more payload files to an encrypted app package.
AddPayloadPackage Adds a new app package to the bundle.
AddPayloadPackage Adds a new app package to the bundle.
AddPayloadPackageEncrypted Encrypts a new payload package to the bundle.
AddPayloadPackageEncrypted Encrypts a new payload package to the bundle.
AppPolicyGetClrCompat Retrieves a value indicating the application type of a process so that you can determine whether to enable private reflection and/or make managed objects agile.
AppPolicyGetCreateFileAccess Retrieves a value indicating whether a process has full or restricted access to the IO devices (file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe).
AppPolicyGetLifecycleManagement Retrieves a value indicating whether a process can be suspended/resumed by the Process Lifecycle Manager (PLM).
AppPolicyGetMediaFoundationCodecLoading Retrieves a value indicating whether a process’s policy allows it to load non-Windows (third-party) plugins. You can use the value to decide whether or not to allow non-Windows (third-party) plugins.
AppPolicyGetProcessTerminationMethod Retrieves the method used to end a process.
AppPolicyGetShowDeveloperDiagnostic Retrieves the method used for a process to surface developer information, such as asserts, to the user.
AppPolicyGetThreadInitializationType Retrieves the kind of initialization that should be automatically performed for a process when beginthread[ex] creates a thread.
AppPolicyGetWindowingModel Retrieves a value indicating whether a process uses a CoreWindow-based, or a HWND-based, windowing model. You can use the value to decide how to register for window state change notifications (size changed, visibility changed, etc.).
Close Finalizes the bundle package by writing footprint files at the end of the package, and closes the writer’s output stream.
Close Finalizes the bundle package by writing footprint files at the end of the package, and closes the writer’s output stream.
Close Writes the bundle manifest and blockmap footprint files to the bundle.
Close Closes and finalizes the written package stream.
Close Writes footprint files at the end of the app package, and closes the package writer object's output stream.
Close Closes the package writer object's output stream.
ClosePackageInfo Closes a reference to the specified package information.
ComparePublisher Compares the specified publisher with the publisher defined in the manifest.
CreateBlockMapReader Creates a read-only block map object model from contents provided by an IStream.
CreateBundleManifestReader Creates a read-only bundle manifest object from a standalone stream to AppxBundleManifest.xml.
CreateBundleReader Creates a read-only bundle object that reads its contents from an IStream object.
CreateBundleWriter Creates a write-only bundle object to which app packages can be added.
CreateContentGroupMapReader Creates an IAppxContentGroupMapReader.
CreateContentGroupMapWriter Creates an IAppxContentGroupMapWriter.
CreateDeltaPackage Creates a delta package from the differences in the updated package and the baseline package.
CreateDeltaPackageUsingBaselineBlockMap Creates a delta package from the differences in the updated package and the baseline block map.
CreateEncryptedBundleReader Creates a read-only bundle object to which encrypted Windows app packages can be added.
CreateEncryptedBundleWriter Creates a write-only bundle object to which encrypted Windows app packages can be added.
CreateEncryptedBundleWriter Creates a write-only bundle object to which encrypted Windows app packages can be added.
CreateEncryptedPackageReader Creates a new instance of IAppxEncryptedPackageReader.
CreateEncryptedPackageWriter Creates a new instance of an IAppxEncryptedPackageWriter.
CreateEncryptedPackageWriter Creates a new instance of an IAppxEncryptedPackageWriter.
CreateEncryptedPackageWriter Creates a new instance of an IAppxEncryptedPackageWriter.
CreateManifestReader Creates a read-only manifest object model from contents provided by an IStream.
CreatePackageReader Creates a read-only package reader from the contents provided by an IStream. This method does not validate the digital signature.
CreatePackageWriter Creates a write-only package object to which files can be added.
CreateSourceContentGroupMapReader Creates an IAppxSourceContentGroupMapReader.
CreateValidatedBlockMapReader Creates a read-only block map object model from contents provided by an IStream and a digital signature.
DecryptBundle Creates an unencrypted Windows app bundle from an encrypted one.
DecryptPackage Creates an unencrypted Windows app package from an encrypted one.
EncryptBundle Creates an encrypted Windows app bundle from an unencrypted one.
EncryptBundle Creates an encrypted Windows app bundle from an unencrypted one.
EncryptPackage Creates an encrypted Windows app package from an unencrypted one.
EncryptPackage Creates an encrypted Windows app package from an unencrypted one.
EncryptPackage Creates an encrypted Windows app package from an unencrypted one.
FindPackagesByPackageFamily Finds the packages with the specified family name for the current user.
FormatApplicationUserModelId Constructs an application user model ID from the package family name and the package relative application ID (PRAID).
GetApplications Gets an enumerator that iterates through the applications defined in the manifest.
GetApplicationUserModelId Gets the application user model ID for the specified process.
GetApplicationUserModelIdFromToken Gets the application user model ID for the specified token.
GetAppUserModelId Gets the application user model identifier.
GetArchitecture Gets the processor architecture as defined in the manifest.
GetArchitecture2 Gets the processor architecture as defined in the manifest.
GetAutomaticGroups Gets the automatic content group(s) from the content group map.
GetAutomaticGroups Gets the automatic content group(s) from the source content group map.
GetBlockMap Retrieves a read-only block map object from the bundle.
GetBlockMap Retrieves the block map object model of the package.
GetBlocks Retrieves an enumerator for traversing the blocks of a file listed in the block map.
GetBoolValue Gets the value of the specified Boolean element in the properties section.
GetCapabilities Gets the list of capabilities requested by the package.
GetCompressedSize Retrieves compressed size of the block.
GetCompressionOption Retrieves the compression option that is used to store the file in the package.
GetContentType Retrieves the content type of the file.
GetCurrent Gets the block at the current position of the enumerator.
GetCurrent Gets the file at the current position of the enumerator.
GetCurrent Gets the optional bundle information at the current position of the enumerator.
GetCurrent Gets the <Package> element at the current position of the enumerator.
GetCurrent Gets the file from the content group at the current position of the enumerator.
GetCurrent Gets the content group at the current position of the enumerator.
GetCurrent Gets the payload file at the current position of the enumerator.
GetCurrent Gets the application at the current position of the enumerator.
GetCurrent Gets the device capability at the current position of the enumerator.
GetCurrent Gets the <MainPackageDependency> element at the current position of the enumerator.
GetCurrent Gets the dependency package at the current position of the enumerator.
GetCurrent Gets the resource at the current position of the enumerator.
GetCurrentApplicationUserModelId Gets the application user model ID for the current process.
GetCurrentPackageFamilyName Gets the package family name for the calling process.
GetCurrentPackageFullName Gets the package full name for the calling process.
GetCurrentPackageId Gets the package identifier (ID) for the calling process.
GetCurrentPackageInfo Gets the package information for the calling process.
GetCurrentPackageInfo2 Gets the package information for the calling process.
GetCurrentPackagePath Gets the package path for the calling process.
GetCurrentPackagePath2 Gets the package path for the calling process.
GetDeviceCapabilities Gets an enumerator that iterates through the device capabilities defined in the manifest.
GetFile Retrieves data corresponding to a file in the block map with the specified file name.
GetFileName Retrieves the file-name attribute of the <OptionalBundle>.
GetFileName Retrieves the file-name attribute of the package.
GetFiles Retrieves an enumerator for traversing the files listed in the block map.
GetFiles Gets files from a content group.
GetFootprintFile Retrieves the specified type of footprint file from the bundle.
GetFootprintFile Retrieves a footprint file from the package.
GetHasCurrent Determines whether there is a block at the current position of the enumerator.
GetHasCurrent Determines whether there is a file at the current position of the enumerator.
GetHasCurrent Determines whether there is optional bundle information at the current position of the enumerator.
GetHasCurrent Determines whether there are more elements in the enumerator.
GetHasCurrent Determines whether there is a file at the current position of the enumerator.
GetHasCurrent Determines whether there is a content group at the current position of the enumerator.
GetHasCurrent Determines whether there is a payload file at the current position of the enumerator.
GetHasCurrent Determines whether there is an application at the current position of the enumerator.
GetHasCurrent Determines whether there is a device capability at the current position of the enumerator.
GetHasCurrent Determines whether there is a <MainPackageDependency> element at the current position of the enumerator.
GetHasCurrent Determines whether there is a package dependency at the current position of the enumerator.
GetHasCurrent Determines whether there is a resource at the current position of the enumerator.
GetHash Retrieves the hash value of the block.
GetHashMethod Retrieves the URI for the hash algorithm used to create block hashes in the block map.
GetIsDefaultApplicablePackage Determines whether the app package is a default applicable package.
GetIsNonQualifiedResourcePackage Determines whether the app package is a non-qualified resource package.
GetIsNonQualifiedResourcePackage Queries whether an app package is a non-qualified resource package.
GetIsOptionalPackage Determines whether the package is optional.
GetIsPackageReference Determines whether a package is stored inside an app bundle, or if it's a reference to a package.
GetLocalFileHeaderSize Retrieves the size of the zip local file header of the associated zip file item.
GetMainPackageDependencies Gets a main package dependencies enumerator.
GetMainPackageName Gets the main package name from the optional package.
GetManifest Retrieves a read-only manifest object from the bundle.
GetManifest Retrieves the object model of the app manifest of the package.
GetMaxMajorVersionTested Returns the maximum major version number of the package that is tested to be compatible with the current package.
GetMaxVersionTested Gets the maximum version tested from the AppxManifest.xml.
GetMinVersion Gets the minimum version of the package on which the current package has a dependency.
GetMinVersion Gets the minimum version of the target device family from the AppxManifest.xml.
GetName Retrieves the name of the associated zip file item.
GetName Gets the name of the content group.
GetName Retrieves the name of the file, including its path relative to the package root directory.
GetName Gets the name of the main package dependency from the AppxManifest.xml.
GetName Gets the name of the package on which the current package has a dependency.
GetName Gets the name of the package as defined in the manifest.
GetName Gets the name of the target device family from the AppxManifest.xml..
GetOffset Retrieves the offset of the package relative to the beginning of the bundle.
GetOptionalBundles Retrieves an object that represents the <OptionalBundles> element under the root <Bundle> element.
GetPackageApplicationIds Gets the IDs of apps in the specified package.
GetPackageDependencies Gets an enumerator that iterates through dependencies defined in the manifest.
GetPackageFamilyName Gets the package family name of the main package dependency from the AppxManifest.xml.
GetPackageFamilyName Gets the package family name.
GetPackageFamilyName Gets the package family name for the specified process.
GetPackageFamilyNameFromToken Gets the package family name for the specified token.
GetPackageFullName Gets the package full name.
GetPackageFullName Gets the package full name for the specified process.
GetPackageFullNameFromToken Gets the package full name for the specified token.
GetPackageId Retrieves an object that represents the identity of the <OptionalBundle>.
GetPackageId Retrieves an object that represents the identity of the app package.
GetPackageId Retrieves an object that represents the <Identity> element under the root <Bundle> element.
GetPackageId Gets the package identifier defined in the manifest.
GetPackageId Gets the package identifier (ID) for the specified process.
GetPackageInfo Gets the package information for the specified package.
GetPackageInfo2 Gets the package information for the specified package.
GetPackageInfoItems Retrieves optional packages in the bundle.
GetPackageInfoItems Retrieves an enumerator over all the <Package> elements under the <Packages> element.
GetPackagePath Gets the path for the specified package.
GetPackagePathByFullName Gets the path of the specified package.
GetPackagePathByFullName2 Gets the path of the specified package.
GetPackagesByPackageFamily Gets the packages with the specified family name for the current user.
GetPackageType Retrieves the type of package that is represented by the package info.
GetPayloadFile Retrieves a payload file from the package.
GetPayloadFiles Retrieves an enumerator that iterates through the payload files in the package.
GetPayloadPackage Retrieves an appx file object for the payload package with the specified file name.
GetPayloadPackages Retrieves an enumerator that iterates over the list of all payload packages in the bundle.
GetPrerequisite Gets the specified prerequisite as defined in the package manifest.
GetProperties Gets the properties of the package as defined in the manifest.
GetPublisher Gets the publisher of the main package dependency from the AppxManifest.xml.
GetPublisher Gets the name of the publisher that produced the package on which the current package depends.
GetPublisher Gets the name of the package publisher as defined in the manifest.
GetQualifiedResources Gets an enumerator that iterates through the qualified resources that are defined in the manifest.
GetRequiredGroup Gets the required content group from the content group map.
GetRequiredGroup Gets the required content group from the source content group map.
GetResourceId Gets the package resource identifier as defined in the manifest.
GetResources Retrieves an enumerator that iterates through all the <Resource> elements that are defined in the app package's manifest.
GetResources Gets an enumerator that iterates through the resources defined in the manifest.
GetSize Retrieves the size of the package, in bytes.
GetSize Retrieves the uncompressed size of the file.
GetStagedPackageOrigin Gets the origin of the specified package.
GetStagedPackagePathByFullName Gets the path of the specified staged package.
GetStagedPackagePathByFullName2 Gets the path of the specified staged package.
GetStream Retrieves a read-only stream that represents the XML content of the block map.
GetStream Gets the raw XML document without any preprocessing.
GetStream Gets a read-only stream that contains the uncompressed content of the file.
GetStream Gets the raw XML parsed and read by the manifest reader.
GetStringValue Gets the value of a string element in the application metadata section of the manifest.
GetStringValue Gets the value of the specified string element in the properties section.
GetUncompressedSize Retrieves the uncompressed size of the associated zip file item.
GetVersion Gets the version of the package as defined in the manifest.
MoveNext Advances the position of the enumerator to the next block.
MoveNext Advances the position of the enumerator to the next file.
MoveNext Advances the position of the enumerator to the next set of optional bundle information.
MoveNext Advances the position of the enumerator to the next <Package> element.
MoveNext Advances the position of the enumerator to the next file.
MoveNext Advances the position of the enumerator to the next content group.
MoveNext Advances the position of the enumerator to the next payload file.
MoveNext Advances the position of the enumerator to the next application.
MoveNext Advances the position of the enumerator to the next device capability.
MoveNext Advances the position of the enumerator to the next <MainPackageDependency> element.
MoveNext Advances the position of the enumerator to the next package dependency.
MoveNext Advances the position of the enumerator to the next resource.
OpenPackageInfoByFullName Opens the package information of the specified package.
PackageFamilyNameFromFullName Gets the package family name for the specified package full name.
PackageFamilyNameFromId Gets the package family name for the specified package identifier.
PackageFullNameFromId Gets the package full name for the specified package identifier (ID).
PackageIdFromFullName Gets the package identifier (ID) for the specified package full name.
PackageNameAndPublisherIdFromFamilyName Gets the package name and publisher identifier (ID) for the specified package family name.
ParseApplicationUserModelId Deconstructs an application user model ID to its package family name and package relative application ID (PRAID).
UpdateEncryptedPackage Updates an encrypted app package.
UpdatePackage Updates an app package.
UpdatePackageManifest Updates an app package manifest.
ValidateFileHash Validates the content of a file against the hashes stored in the block elements for this block map file.

Interfaces

Title Description
IAppxBlockMapBlock The IAppxBlockMapBlock interface provides a read-only object that represents an individual block within a file contained in the block map file (AppxBlockMap.xml) for the App package.
IAppxBlockMapBlocksEnumerator Enumerates the blocks from a block map in a single file.
IAppxBlockMapFile Represents a file in the block map.
IAppxBlockMapFilesEnumerator Enumerates the files from a block map.
IAppxBlockMapReader Represents a read-only object model for block maps that provides access to the file attributes and block hashes.
IAppxBundleFactory Creates objects for reading and writing bundle packages.
IAppxBundleManifestOptionalBundleInfo Provides a read-only object model for an <OptionalBundle> element in a bundle package manifest.
IAppxBundleManifestOptionalBundleInfoEnumerator Enumerates the optional bundle information from a bundle.
IAppxBundleManifestPackageInfo Provides a read-only object model for a <Package> element in a bundle package manifest.
IAppxBundleManifestPackageInfo2 Provides a read-only object model for a <Package> element in a bundle package manifest.
IAppxBundleManifestPackageInfoEnumerator Provides a read-only object model for the list of payload packages that are described in a bundle package manifest.
IAppxBundleManifestReader Provides a read-only object model for manifests of bundle packages.
IAppxBundleManifestReader2 Provides a read-only object model for manifests of bundle packages.
IAppxBundleReader Provides a read-only object model for bundle packages.
IAppxBundleWriter Provides a write-only object model for bundle packages.
IAppxBundleWriter2 Provides a write-only object model for bundle packages.
IAppxBundleWriter3 Provides a write-only object model for bundle packages.
IAppxBundleWriter4 Provides a write-only object model for bundle packages.
IAppxContentGroup Retrieves information about a content group.
IAppxContentGroupFilesEnumerator Enumerates files in content groups from a content group map.
IAppxContentGroupMapReader Gets information about a content group map.
IAppxContentGroupMapWriter Provides a write-only object model for a content group map.
IAppxContentGroupsEnumerator Enumerates the content groups from a content group map.
IAppxEncryptedBundleWriter Provides a write-only object model for encrypted bundle packages.
IAppxEncryptedBundleWriter2 Provides a write-only object model for encrypted bundle packages.
IAppxEncryptedBundleWriter3 Provides a write-only object model for encrypted bundle packages.
IAppxEncryptedPackageWriter Provides a write-only object model for encrypted app packages.
IAppxEncryptedPackageWriter2 Provides a write-only object model for encrypted app packages.
IAppxEncryptionFactory Creates objects for encrypting, decrypting, reading, and writing packages and bundles.
IAppxEncryptionFactory2 Creates objects for encrypting, decrypting, reading, and writing Windows app packages and bundles.
IAppxEncryptionFactory3 Creates objects for encrypting, decrypting, reading, and writing Windows app packages and bundles.
IAppxEncryptionFactory4 Creates objects for encrypting Windows app packages and bundles.
IAppxFactory Creates objects for reading and writing app packages.
IAppxFactory2 Creates objects for reading and writing app packages.
IAppxFile Retrieves information about a payload or footprint file in a package.
IAppxFilesEnumerator Enumerates the payload files in a package.
IAppxManifestApplication Provides access to attribute values of the application.
IAppxManifestApplicationsEnumerator Enumerates the applications defined in the package manifest.
IAppxManifestDeviceCapabilitiesEnumerator Enumerates the device capabilities defined in the package manifest.
IAppxManifestMainPackageDependenciesEnumerator Enumerates <MainPackageDependency> elements from an app manifest.
IAppxManifestMainPackageDependency Provides access to attribute values of the main package dependency.
IAppxManifestOptionalPackageInfo Provides access to attribute values of the optional package information.
IAppxManifestPackageDependenciesEnumerator Enumerates the package dependencies defined in the package manifest.
IAppxManifestPackageDependency Describes the dependency of one package on another package.
IAppxManifestPackageDependency2 Describes the dependency of one package on another package.
IAppxManifestPackageId Provides access to the package identity.
IAppxManifestPackageId2 Provides access to the app package identity.
IAppxManifestProperties Provides read-only access to the properties section of a package manifest.
IAppxManifestReader Represents an object model of the package manifest that provides methods to access manifest elements and attributes.
IAppxManifestReader2 Represents an object model of the package manifest that provides methods to access manifest elements and attributes.
IAppxManifestReader5 Represents an object model of the package manifest that provides methods to access manifest elements and attributes.
IAppxManifestReader6 Represents an object model of the package manifest that provides methods to access manifest elements and attributes.
IAppxManifestResourcesEnumerator Enumerates the resources defined in the package manifest.
IAppxManifestTargetDeviceFamily Retrieves information about the target device family from the AppxManifest.xml.
IAppxPackageEditor Provides functionality to edit app packages.
IAppxPackageReader Provides a read-only object model for app packages.
IAppxPackageWriter Provides a write-only object model for app packages.
IAppxPackageWriter2 Provides a write-only object model for app packages.
IAppxPackageWriter3 Provides a write-only object model for app packages.
IAppxSourceContentGroupMapReader Gets information about the source content group map.

Structures

Title Description
APPX_ENCRYPTED_EXEMPTIONS Files exempted from Windows app package encryption.
APPX_ENCRYPTED_PACKAGE_SETTINGS Settings for encrypted Windows app packages.
APPX_ENCRYPTED_PACKAGE_SETTINGS2 Encrypted Windows app package settings.
APPX_KEY_INFO Windows app package key information.
APPX_PACKAGE_SETTINGS Represents package settings used to create a package.
APPX_PACKAGE_WRITER_PAYLOAD_STREAM Contains the data and metadata of files to write into the app package.
PACKAGE_ID Represents package identification information, such as name, version, and publisher.
PACKAGE_INFO Represents package identification information that includes the package identifier, full name, and install location.
PACKAGE_VERSION Represents the package version information.