Safeguard
Developer Tools•

What integrity checks does an MSIX package give you?

Every MSIX package must be signed and carries a block map of hashes for each 64 KB block. What that proves, what it does not and how to use it.

Safeguard Security Team
3 min read

An MSIX package must be signed before installation, and it carries a block map listing a cryptographic hash for each 64 KB block of its files. Together they let Windows check who signed the package and whether its contents changed. They do not say the code is free of vulnerabilities.

The three files that matter

Microsoft's MSIX overview describes footprint files, which are package metadata that describe, validate or support the payload. Three are core:

FileRole
AppxManifest.xmlDeclares package identity, dependencies, capabilities and extension points
AppxBlockMap.xmlLists package files with a hash for each 64 KB block, used for differential updates and integrity verification
AppxSignature.p7xHolds the package signature; all MSIX packages must be signed before installation

The payload files are the code, libraries, assets and configuration the package delivers.

What the pieces give you

  • Publisher identity. The signature ties the package to a signer. The manifest declares a publisher as part of the package identity.
  • Tamper evidence. The block map's hashes let Windows detect a changed block.
  • Smaller updates. The same block map lets an update download only the changed 64 KB blocks, which Microsoft calls differential updates.
  • Declared capabilities. The manifest lists what the app asks for, which a reviewer can read before install.
  • Containment. Microsoft says apps can run in a lightweight container with a virtual file system and registry, which redirects certain writes.

What they do not give you

A signature does not review the code. A signed package can contain a vulnerable library or a malicious change made before signing. The block map proves the package matches what was signed, not that the build was clean. Keep dependency review and build controls in place.

Practical steps

  1. Sign every build, including test builds, with a key handled like production keys.
  2. Read the manifest capabilities in code review and question new ones.
  3. Keep an inventory of the libraries in the payload for each release.
  4. Use the MSIX SDK, which Microsoft describes as able to verify, validate and unpack packages on any platform, in your pipeline checks.
  5. Record which certificate signed which release.

Try it yourself

Open the inventory demo and consider the payload of your own package. Each library is a line you should be able to name.

Click through it at your own pace, or open it full screen.

Quick check

Can an MSIX package be installed unsigned?

Per Microsoft's overview, all MSIX packages must be signed before installation.

Does the block map stop a malicious update?

It detects changes after signing. It does not stop a bad package that was signed by an attacker holding the key.

Safeguard's SBOM and dependency scanning lists what is inside a package payload. A free scan is at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.