September 22nd, 2026
like1 reaction

Footprint vs Payload files

Principal Software Engineer

Payload files

Payload files are files stored in and delivered by the package. This includes your code, assets, and data, such as executables, DLLs, images, configuration files, and resources. For example:

  • MyApp.exe
  • MyLibrary.dll
  • Assets\Logo.png
  • Config\defaults.json
  • Resources.pri

Content files

The term content is sometimes used in MSIX-related APIs and documentation, but it does not provide as clean a classification as payload and footprint. For example, the Packaging API associates a content type with payload files. To avoid ambiguity, we’ll use payload file when referring to files stored in the package.

Footprint files

Footprint files are package metadata and infrastructure files used to describe, validate, or otherwise support the package and its payload.

Not just terminology: The Packaging API distinguishes between the two concepts directly: IAppxPackageWriter::AddPayloadFile() adds payload files, while IAppxPackageWriter::Close() writes the package’s footprint files. The API also prevents reserved footprint filenames such as AppxManifest.xml, AppxBlockMap.xml, and AppxSignature.p7x from being added as payload files.

APPX_FOOTPRINT_FILE_TYPE

The APPX_FOOTPRINT_FILE_TYPE enumeration identifies the package’s footprint file types:

Constant Filename
APPX_FOOTPRINT_FILE_TYPE_MANIFEST AppxManifest.xml
APPX_FOOTPRINT_FILE_TYPE_BLOCKMAP AppxBlockMap.xml
APPX_FOOTPRINT_FILE_TYPE_SIGNATURE AppxSignature.p7x
APPX_FOOTPRINT_FILE_TYPE_CODEINTEGRITY AppxMetadata\CodeIntegrity.cat
APPX_FOOTPRINT_FILE_TYPE_CONTENTGROUPMAP AppxContentGroupMap.xml

A package contains core footprint files such as AppxManifest.xml and AppxBlockMap.xml. Other footprint files are conditional. For example, AppxContentGroupMap.xml is only present in packages that define content groups.

APPX_BUNDLE_FOOTPRINT_FILE_TYPE

Bundles have a different set of footprint files. The APPX_BUNDLE_FOOTPRINT_FILE_TYPE enumeration identifies the bundle’s footprint file types:

Constant Filename
APPX_BUNDLE_FOOTPRINT_FILE_TYPE_MANIFEST AppxBundleManifest.xml
APPX_BUNDLE_FOOTPRINT_FILE_TYPE_BLOCKMAP AppxBlockMap.xml
APPX_BUNDLE_FOOTPRINT_FILE_TYPE_SIGNATURE AppxSignature.p7x

Practical terminology

Here’s a little cheat sheet summarizing the terms:

Term Meaning Example
Package file A file represented in the package Any file in the package
Payload file A file stored in and delivered by the package .exe, .dll, .png, .json, .pri
Footprint file Package metadata or infrastructure AppxManifest.xml, AppxBlockMap.xml, AppxSignature.p7x
Content file An ambiguous term; prefer “payload file” when that is what you mean

Author

Howard Kapustein
Principal Software Engineer

MSIX Development Engineer/Architect

0 comments