What Is the Windows App SDK?
The Windows App SDK (formerly Project Reunion) is a decoupled set of APIs — WinUI 3, App Lifecycle, DWriteCore, Push Notifications, MRT Core, and more — that lets Win32 desktop applications consume modern Windows capabilities without being rewritten as UWP apps. It ships independently of the OS via NuGet, following a versioned release channel (stable, preview, experimental) so teams can adopt new capabilities without waiting for a Windows feature update.
Cricket analogy: It's like the IPL auction system letting any franchise, from Chennai Super Kings to Gujarat Titans, pick up a specialized bowling coach mid-season instead of only inheriting whichever coach the national board assigns.
Core Components
Beyond WinUI 3, the SDK bundles App Lifecycle APIs for detecting launch activation kind and single-instancing, a Deployment API for self-contained MSIX installation from within an app (no Store required), Push Notifications via WNS independent of UWP's tile infrastructure, and Widgets support for Windows 11's widget board. Each component can be referenced individually via NuGet, so a WPF or WinForms app can pull in just DWriteCore for improved text rendering without adopting WinUI 3 at all.
Cricket analogy: It's like a fielding side choosing to bring in just a specialist wicketkeeper for a match without overhauling the entire bowling attack, you can adopt one piece, like DWriteCore, without the whole system.
Versioning and Release Channels
The SDK follows semantic-ish versioning across stable, preview, and experimental channels: stable releases (e.g. 1.5, 1.6) are supported for production, preview channels expose upcoming APIs for early feedback, and experimental channels carry APIs that may be cut before shipping. Each major version can run side-by-side on a machine because the runtime is versioned and deployed per-app (framework package or self-contained), so upgrading one app's SDK reference does not force every other WinUI app on the machine to update simultaneously.
Cricket analogy: It's like different IPL teams running different squad compositions in the same season, one franchise can trial a new overseas signing in a warm-up match while another sticks with its stable core XI, side by side.
<!-- .csproj reference to a specific stable Windows App SDK version -->
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.250108002" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.3233" />
</ItemGroup>
<PropertyGroup>
<WindowsPackageType>None</WindowsPackageType> <!-- unpackaged deployment -->
<SelfContained>true</SelfContained>
</PropertyGroup>Deployment and the App Lifecycle API
The App Lifecycle APIs let a Windows App SDK app inspect AppInstance.GetCurrent().GetActivatedEventArgs() to branch on launch, file, or protocol activation, and to enforce single-instancing by redirecting activation to an already-running instance via AppInstance.FindOrRegisterForKey. Combined with the Deployment API's TryEnsurePackageDependencyAsync, a self-contained unpackaged app can bootstrap the Windows App SDK runtime at first launch without requiring the user to separately install a redistributable.
Cricket analogy: It's like a stadium's entry system redirecting a fan holding a duplicate ticket to their already-assigned seat instead of issuing a second one, single-instancing redirects a second launch to the already-running app window.
Windows App SDK release channels map to real-world stability guarantees: stable channel packages are safe for production and receive servicing fixes; experimental channel APIs can be renamed, changed, or removed entirely before reaching stable, so never ship experimental APIs in a production release.
TryEnsurePackageDependencyAsync requires network or local cache access to the Windows App SDK runtime installer the first time an unpackaged self-contained app runs on a clean machine; if your deployment environment blocks that installer download and you didn't bundle the runtime, first launch will fail silently for users.
- The Windows App SDK (formerly Project Reunion) decouples modern Windows APIs from the OS release cycle.
- It bundles WinUI 3, App Lifecycle, Deployment, Push Notification, and Widgets APIs, among others.
- Individual components can be adopted independently, e.g., DWriteCore in a WPF app without WinUI 3.
- Stable, preview, and experimental release channels let teams choose their risk tolerance.
- Different SDK versions can run side by side per app without forcing a machine-wide update.
- App Lifecycle APIs handle activation kind detection and single-instancing via AppInstance.
- The Deployment API lets self-contained unpackaged apps bootstrap the runtime without a separate installer.
Practice what you learned
1. What was the Windows App SDK originally called during its early announcement?
2. Which API lets a Windows App SDK app enforce single-instancing?
3. Why can a WPF app reference just DWriteCore without adopting WinUI 3?
4. What risk applies specifically to experimental-channel Windows App SDK APIs?
5. What does the Deployment API's TryEnsurePackageDependencyAsync method enable?
Was this page helpful?
You May Also Like
WinUI 3 Overview
WinUI 3 is Microsoft's native, open-source UI framework for Windows desktop apps, decoupled from the OS and shipped via the Windows App SDK.
Desktop Bridge for Win32 Apps
Desktop Bridge lets existing Win32 and .NET desktop applications be packaged as MSIX and distributed through the Microsoft Store or sideloading, gaining modern deployment without a full rewrite.
UWP Interop with Win32
Techniques for calling native Win32 and COM APIs from UWP apps, and hosting Win32 processes or windows alongside UWP's sandboxed model.
Related Reading
Related Study Notes in Microsoft Technologies
Browse all study notesWindows Batch Scripting Study Notes
Batch · 30 topics
Microsoft TechnologiesMFC (Microsoft Foundation Classes) Study Notes
C++ · 30 topics
Microsoft TechnologiesSilverlight Study Notes
.NET · 30 topics
Microsoft TechnologiesXAML Study Notes
.NET · 30 topics
Microsoft TechnologiesWPF (Windows Presentation Foundation) Study Notes
.NET · 30 topics
Microsoft TechnologiesMVVM Design Pattern Study Notes
.NET · 30 topics