Packaging API

Learn about the packaging API, which you can use to create, read, and write app packages. Each app package contains the files that constitute a Windows app, and a manifest file that describes the software to Windows.

Topic 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. The IAppxBlockMapFile::GetBlocks method is used to return an enumerator for traversing and retrieving the individual blocks of a file listed in the package block map.
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.
IAppxContentGroupsEnumerator
Enumerates the content groups from a content group map.
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.
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.
IAppxEncryptedPackageWriter
Provides a write-only object model for encrypted app packages.
IAppxEncryptedPackageWriter2
Provides a write-only object model for encrypted app packages.
IAppxEncryptedBlockMapFile
Retrieves the file hash and Id of an encrypted block map file.
IAppxEncryptedFile
Retrieves information about an encrypted file.
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.
IAppxEncryptedPackageFile
Retrieves encrypted package readers and streams.
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.
IAppxManifestMainPackageDependency
Provides access to attribute values of the main package dependency.
IAppxManifestMainPackageDependenciesEnumerator
Enumerates <MainPackageDependency> elements from an app manifest.
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.
APPX_BUNDLE_FOOTPRINT_FILE_TYPE
Specifies the type of footprint file in a bundle.
APPX_ENCRYPTED_PACKAGE_SETTINGS
Settings for encrypted Windows app packages.
APPX_ENCRYPTED_PACKAGE_SETTINGS2
Encrypted Windows app package settings.
APPX_ENCRYPTED_EXEMPTIONS
Files exempted from Windows app package encryption.
APPX_KEY_INFO
Windows app package key information.
APPX_ENCRYPTED_PACKAGE_OPTIONS
Encrypted app package options.
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_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.
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.

Samples

Create app package sample (CreateAppx)

Extract app package contents sample (ExtractAppx)

Read app package manifest info sample (DescribeAppx)

Tasks

How to create an app package

Quickstart: Extract app package contents

Quickstart: Read app package manifest info

Concepts

App packages and deployment

Glossary

Reference

App package manifest schema

Package deployment API

Package query API