Edit

Package and deploy Windows apps overview

App packaging provides your app with a predictable installation, update, and servicing model on Windows. WinUI 3 apps are packaged by default, while many other app types aren't. Features that depend on package identity include background tasks, push notifications, Windows 10 live tiles, custom context menu extensions, share targets, and other extensibility points. Packaging also supports cleaner deployments, reliable updates, and distribution through channels such as the Microsoft Store and enterprise deployment tools.

Deployment determines how you distribute the app and any runtime dependencies to users. This overview helps you choose a packaging model, a distribution path, and, for apps that use the Windows App SDK, a framework-dependent or self-contained deployment model.

Choose packaging, distribution, and deployment options

Windows app deployment scenario quick reference

The following table maps common distribution goals to packaging and Windows App SDK runtime options. For code-signing costs and mobile device management (MDM) support, see Choose a distribution path.

Distribution goal Packaging mode Runtime mode Windows App SDK runtime on target machine
Publish to Microsoft Store Packaged (MSIX) Framework-dependent Auto-installed by Store
Direct MSIX download from website (with App Installer) Packaged (MSIX) Either Bundled if self-contained; the framework package must be distributed with the app if framework-dependent
Enterprise deployment via Microsoft Intune or Microsoft Configuration Manager (ConfigMgr) Packaged (MSIX) or packaged with external location (Windows 10, version 2004, build 19041, or later) Either Packaged apps can declare framework dependencies; framework-dependent apps packaged with external location must deploy the runtime separately
Direct download with a WiX or Inno installer Packaged with external location or unpackaged Self-contained recommended Bundled by self-contained deployment
Xcopy or zip archive (no installer) Unpackaged Self-contained Bundled by self-contained deployment
Framework-dependent download (smallest footprint) Unpackaged Framework-dependent Must be pre-installed or deployed separately
Continuous integration artifact or internal test Either Self-contained simplifies machine setup Bundled if self-contained; requires runtime installation if framework-dependent

Note

PublishSingleFile (single-file EXE) works with unpackaged, self-contained .NET WinUI 3 apps (Windows App SDK 1.5 and later). It produces a single distributable EXE that extracts dependencies to a temp directory at first launch. Packaged apps (MSIX or packaged with external location) don't support PublishSingleFile. For required MSBuild properties and build-time validation, see WindowsAppSDKSingleFileVerifyConfiguration.

Packaging and deployment resources

Packaging icon
Packaging
Prepare your app for distribution by configuring how it’s packaged, installed, and updated.

Deployment icon
Deployment
Learn how to deliver and manage the Windows App SDK with your app using framework or self-contained deployment options.