Showing tag results for Architecture

Sep 8, 2026
Post comments count0
Post likes count1

MSIX PackageVolume: How Package Storage Works

Howard Kapustein

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 count0
Post likes count1

Servicing While In Use and ERROR_PACKAGES_IN_USE

Howard Kapustein

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?

Howard Kapustein

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 11, 2026
Post comments count2
Post likes count3

Remove and Package Lifetime

Howard Kapustein

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 ...

Aug 4, 2026
Post comments count4
Post likes count3

Remove Is Not Uninstall

Howard Kapustein

Just as There is no Install – it’s ‘Stage’ and ‘Register’ explained that Install is not truly an installation operation in MSIX, Remove is similarly not an uninstall operation. This can be surprising - sometimes even alarming - to developers coming from traditional installer technologies such as MSI, where uninstalling software typically implies: ...

Jul 28, 2026
Post comments count0
Post likes count3

Package Integrity and Enforcement

Howard Kapustein

A recent conversation started (as many interesting conversations do) with a simple question: "Why is MSIX secure?" MSIX includes multiple layers of protection designed to defend against both accidental damage and malicious tampering. But as with all good security solutions, it's not the individual elements so much as their interlocking design tha...

Jul 21, 2026
Post comments count6
Post likes count1

Display Name is for Humans

Howard Kapustein

Package identity exists for one primary purpose: This is a considerable improvement over the historical tendency to assign UUIDs and GUIDs to nearly everything - including things that humans were expected to discuss in meetings. Identity Is for Systems A package's Name, Package Full Name, and other identity-derived values are intended for deve...

Jul 14, 2026
Post comments count0
Post likes count1

Package Status

Howard Kapustein

Every package has a set of status flags describing its current health and availability. These can be queried via the Package.Status property. A package may report more than one status value at a time if multiple conditions apply. Package Status Groups The various states fall into three groups: NeedsRemediation Status values in th...

Jul 7, 2026
Post comments count0
Post likes count0

Applications Are Not Packages

Howard Kapustein

Applications are not packages. Let me repeat. Applications are not packages. This is a common misconception due to the (too) often blurring of concepts and terminology. Packages and applications are different and distinct things, so it's important to understand what those words mean (to MSIX). Packages and Applications Are Different Things An ...

Jun 23, 2026
Post comments count0
Post likes count1

Add vs Stage and Register

Howard Kapustein

As previously mentioned to 'install' a package, as people think of the term, Windows actually performs two separate operations: staging and registration. To oversimplify: One way to 'install' a package for a user is to explicitly stage it, then register the package: But this scenario is common enough that deployment handles it more effici...