Showing tag results for MSIX

Nov 10, 2026
Post comments count0
Post likes count1

Activation via AppUserModelId

Howard Kapustein

An application can be directly activated by calling IApplicationActivationManager::ActivateApplication() with its Application User Model ID, also known as AppUserModelId or AUMID. For example, let's use a package with this fragment: This package's full name is . The suffix is the publisher ID derived from the package's publisher. Its packag...

Nov 3, 2026
Post comments count0
Post likes count3

Sparse Package

Howard Kapustein

We recently discussed External Location and how it lets Windows find files referenced in but installed by some other (not-MSIX) installer. Many people call this kind of package a "Sparse package". Many even think sparse packages are the important feature, and External Location is a minor implementation detail. But...what is a sparse package? Fi...

Oct 27, 2026
Post comments count0
Post likes count1

External Location

Howard Kapustein

We talked recently about PackageVolume as one of the ways to stage packages. Let's turn our gaze to External Location, which plays a distinct role in MSIX, with similarities to - and important differences from - other options. Why is External Location? MSIX deployment provides a full-service software installation stack. The process is simple: co...

Oct 20, 2026
Post comments count0
Post likes count2

Activatable Extension Points

Howard Kapustein

We often talk about "running an application", "launching an app", or "starting an app". This conjures up visions of spinning up a new process, giving the application life. For packaged applications, Windows has a specific term for bringing an application to life: activation. Bringing a packaged process to life involves more than ordinary unpacka...

Oct 13, 2026
Post comments count0
Post likes count2

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

Howard Kapustein

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

Howard Kapustein

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

Howard Kapustein

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

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 count2

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

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