Showing tag results for Code

Sep 22, 2026
Post comments count0
Post likes count1

Footprint vs Payload files

Howard Kapustein

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 count1

PackageType: Main, Framework, Resource, Optional, Bundle

Howard Kapustein

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

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

Jun 30, 2026
Post comments count4
Post likes count4

MSIX Per-User vs All Users: Install, Provision, and Uninstall Packages

Howard Kapustein

MSIX supports making a package available to all users; the formal term is provisioning. Provisioning a package family makes it available to all users, whereas registration makes a package available to a single user. Per-User vs All Users Traditional installers often provide a "per-machine" installation mode to make software available to all users...

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

Jun 2, 2026
Post comments count0
Post likes count1

Staging Part 1 – Sharing is Caring

Howard Kapustein

A key phase in installing a package is staging the package: When a package is staged for the first time, deployment performs several actions, including: Deployment secures these directories with strict permissions, typically granting users Read and potentially Execute access - but notably not Write access. This ensures one user cannot ...

May 12, 2026
Post comments count6
Post likes count5

Is This a Packaged Process?

Howard Kapustein

Sometimes you need to know whether the current process has package identity. Certain Windows features require it, and behaviors can differ—both technically and culturally. For example, classic Windows applications often store settings in the registry, whereas packaged applications typically use ApplicationData.LocalSettings. So how can your code ...