Posts by this author

Oct 13, 2026
Post comments count0
Post likes count1

Is it MSIX? Part 3: Find Package and Application Identity with TASKLIST and PowerShell

We previously determined how to programmatically retrieve a packaged process' package and application identity. Now let's find MSIX package identity using existing tools. TASKLIST.EXE Using the packaged app from our previous example, we know the "image name" (aka executable filename) and that its PID (process ID) is 7664. lists packaged proces...

Oct 6, 2026
Post comments count0
Post likes count2

Is it MSIX? Part 2: Finding Package Identity with APIs

We previously determined how to tell if a process is packaged or unpackaged using Task Manager. Now let's find its package and application identity in code. Windows provides APIs to retrieve package and application identity for a process: If you prefer WinRT: Kernel mode What about kernel mode? Nearly all MSIX APIs require a user-mode calle...

Sep 29, 2026
Post comments count0
Post likes count3

Is it MSIX? Part 1: How to Tell if a Process Is Packaged

Overheard in a recent conversation: Enterprise Administrator: "The ***redacted*** application is awesome, but it really should be an MSIX package." Microsoft Developer: "Ummm, it already is." That sparked another question: How can you tell if an application is packaged or unpackaged? Turns out there's a few simple w...

Sep 22, 2026
Post comments count0
Post likes count1

Footprint vs Payload files

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: Content files The term content is sometimes used in MSIX-related APIs and documentation, but it does not provide as clean a classifica...

Sep 15, 2026
Post comments count2
Post likes count2

PackageType: Main, Framework, Resource, Optional, Bundle

Every MSIX package is one of four package types: MSIX also supports Bundle packages. Bundles are somewhat different from those four package types: a Bundle is a container for one or more MSIX packages. Windows APIs nevertheless expose Bundle alongside the other package types when identifying packages. Each package type has its own behavior...

Sep 8, 2026
Post comments count0
Post likes count2

MSIX PackageVolume: How Package Storage Works

An MSIX package can be staged in several ways and locations: By far the most common is PackageVolume. We'll dig into the rest in future posts, but for now let's focus on MSIX PackageVolume. In the beginning... When MSIX first appeared in Windows 81 packages would be staged to a unique directory under . More specifically, packages were pl...

Sep 1, 2026
Post comments count1
Post likes count2

Servicing While In Use and ERROR_PACKAGES_IN_USE

How does MSIX service a package while it's in use? Simple: It doesn't. A core principle of MSIX servicing is: Do not service a package while it's in use. Deployment provides several ways to deal with that constraint. Options range from terminating applications to deferring servicing until the package is no longer in use. How hard can it be? '...

Aug 25, 2026
Post comments count0
Post likes count2

What Kind of Packaged Process Is It?

As previously discussed, we can divide processes into the two broad categories of packaged vs unpackaged, based on if the process HAS or LACKS package identity. Packaged processes can be divided into three broad categories: All three have package identity, but they make different tradeoffs between compatibility and modern packaged behavior....

Aug 18, 2026
Post comments count0
Post likes count3

What’s a PFN?

What's a PFN? MSIX introduced Package identity in Windows 8. While the familiar package identity "5-tuple" was functional, it wasn't especially convenient to pass through APIs or embed in resources such as files, registry keys, URLs, or XML documents. To address this, Windows defined an opaque string representation known as a Package Moniker. Win...

Aug 11, 2026
Post comments count2
Post likes count3

Remove and Package Lifetime

MSIX uses a Garbage Collection (GC) design for staged package lifetime and destaging. Throughout this article: Package Core Principles A staged package can't be destaged while any references to it exist. This is a direct consequence of MSIX's core architectural principles: Consequently, removing a package's payload from disk is not ...