Skip to content

Commit 4d267f6

Browse files
P2: MSIX on Windows 10 and Windows 11 — feature comparison and compatibility guide (#6656)
* P2: MSIX on Windows 10 and Windows 11 feature comparison guide New page answering 'Will my MSIX app work on Windows 10?' with: - Feature comparison table (Win10 22H2 vs Win11) drawn from supported-platforms.md data - Win11-only features with per-feature alternatives: shared containers, legacy context menus, mutable directories, persistent identity, dynamic dependencies - LTSC 2021 sub-table (missing flexible virtualization and start menu groups) - Win10 EOL callout (mainstream support ended Oct 2025) - Packaging tool mentions (MSIX Packaging Tool, Advanced Installer, Conveyor) - Practical recommendations: set MinVersion accurately, test on Win10 CI, plan EOL Also: - toc.yml: added 'MSIX on Windows 10 and Windows 11' entry - distribution-feature-status.md: replaced the stub table with a summary + link to the new dedicated page Co-authored-by: Copilot <[email protected]> * Fix formatting of MSIX feature status text * Address Copilot feedback on Win10/Win11 MSIX guide Two inaccuracies corrected: 1. Sideloading: signed MSIX installs work by default on Win10 2004+ without enabling policy. Policy is only needed on pre-2004 or enterprise-managed devices. Updated both the table row and the sideloading section. 2. Dynamic dependencies: Windows App SDK Mdd* APIs / bootstrapper work on Win10 (any Windows App SDK-supported version). Only the OS-native dynamic dependency API requires Windows 11 22H2+. Updated the table row, the Win11-only section, and the distribution-feature-status.md summary to reflect this distinction. Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
1 parent 5e10fe0 commit 4d267f6

3 files changed

Lines changed: 133 additions & 14 deletions

File tree

hub/apps/package-and-deploy/distribution-feature-status.md

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -83,21 +83,9 @@ See [SmartScreen reputation for Windows app developers](smartscreen-reputation.m
8383

8484
**Status: Several MSIX features are Windows 11-only**
8585

86-
MSIX was introduced on Windows 10, but many improvements and bug fixes since then have only been made available on Windows 11. If your app targets Windows 10 users, be aware of the following limitations.
86+
MSIX works on both Windows 10 and Windows 11, but several features — including shared package containers, mutable package directories, and MSIX persistent identity — are Windows 11-only and have not been backported. Dynamic dependencies are also supported on Windows 10 via the Windows App SDK (`Mdd*` APIs / bootstrapper), with Windows 11 additionally providing an OS-native implementation. Additionally, Windows 10 mainstream support ended October 14, 2025.
8787

88-
| Feature / scenario | Windows 10 | Windows 11 |
89-
|---|---|---|
90-
| MSIX sideloading (non-Store) | ✅ Supported (requires policy) | ✅ Supported (enabled by default) |
91-
| Registry virtualization fixes | ⚠️ Known issues | ✅ Fixed |
92-
| App container improvements | ⚠️ Some fixes not backported | ✅ Latest behavior |
93-
| MSIX packaging tool stability | ⚠️ Some scenarios require workarounds | ✅ Better supported |
94-
| App Installer reliability | ⚠️ More known issues | ✅ Improved |
95-
| Sideloading without Developer Mode | ✅ Via `AllowAllTrustedApps` policy | ✅ Enabled by default |
96-
97-
> [!IMPORTANT]
98-
> Several platform-level MSIX bugs reported in the `microsoft/msix-packaging` repository affect Windows 10 and have not been backported to Windows 10. If you are seeing MSIX issues specifically on Windows 10 that do not reproduce on Windows 11, this may be a known unbackported issue.
99-
100-
**Recommendation:** If you need to support MSIX on Windows 10 reliably in complex scenarios, test thoroughly on Windows 10 specifically and review open issues in [microsoft/msix-packaging](https://github.com/microsoft/msix-packaging/issues).
88+
For a full comparison table, known unbackported limitations, and per-feature workarounds, see [MSIX on Windows 10 and Windows 11](msix-windows10-windows11.md).
10189

10290
---
10391

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
title: MSIX on Windows 10 and Windows 11
3+
description: Understand which MSIX features are available on Windows 10 vs Windows 11, including Windows 11-only capabilities and known limitations that haven't been backported to Windows 10.
4+
ms.topic: concept-article
5+
ms.date: 04/17/2026
6+
ms.localizationpriority: medium
7+
---
8+
9+
# MSIX on Windows 10 and Windows 11
10+
11+
MSIX works on both Windows 10 and Windows 11, but not all features are available on both. Several capabilities were introduced with Windows 11 and have not been backported, and some Windows 10 bugs remain unresolved. This page helps you understand what works where, so you can make informed packaging decisions when you need to support Windows 10.
12+
13+
> [!IMPORTANT]
14+
> **Windows 10 mainstream support ended October 14, 2025** (all non-LTSC versions). Windows 10 LTSC 2021 is supported until January 12, 2027. If your target audience is still on Windows 10, plan accordingly — feature bugs are unlikely to be fixed on older Windows 10 releases.
15+
16+
## Feature comparison: Windows 10 vs Windows 11
17+
18+
The table below compares MSIX feature availability between the latest Windows 10 release (22H2, which has the same feature support as 21H2) and Windows 11.
19+
20+
| Feature | Windows 10 (22H2) | Windows 11 |
21+
|---|---|---|
22+
| Core MSIX install and uninstall |||
23+
| App Installer file (`.appinstaller`) support |||
24+
| Sideloading (non-Store install) | ✅ Requires `AllowAllTrustedApps` policy or Developer Mode | ✅ Enabled by default |
25+
| Windows services in MSIX | ✅ (requires Windows 10 version 2004+) ||
26+
| Package with external location (sparse packages) | ✅ (requires Windows 10 version 2004+) ||
27+
| Hosted Apps | ✅ (requires Windows 10 version 2004+) ||
28+
| Package Integrity Enforcement (non-Store) | ✅ (requires Windows 10 version 2004+) ||
29+
| Flexible virtualization | ✅ (requires Windows 10 version 21H1+) ||
30+
| Start menu groups | ✅ (requires Windows 10 version 21H1+) ||
31+
| Modification packages |||
32+
| Package Support Framework (PSF) |||
33+
| Shared package containers | ❌ Windows 11 only ||
34+
| Legacy context menu support (Shell extensions) | ❌ Windows 11 only ||
35+
| Mutable package directories | ❌ Windows 11 only ||
36+
| MSIX Persistent Identity (survives reinstall) | ❌ Windows 11 only ||
37+
| Dynamic dependencies | ✅ Via Windows App SDK dynamic dependency APIs (`Mdd*` / bootstrapper) on supported Windows App SDK versions; ❌ OS-native API | ✅ Via Windows App SDK; OS-native API available on Windows 11, version 22H2+ |
38+
39+
For the full version-by-version breakdown across all Windows 10 releases, see [MSIX features and supported platforms](/windows/msix/supported-platforms).
40+
41+
## Windows 11-only features
42+
43+
If your app uses any of the following features, it will not work on Windows 10:
44+
45+
### Shared package containers
46+
47+
Shared package containers let multiple packaged apps share a common package namespace, allowing them to share data and settings. This feature requires Windows 11.
48+
49+
**Windows 10 alternative:** Use a shared Win32 data location (such as `%ProgramData%` or a named pipe) outside the MSIX container, or restructure the apps as related packages within a single bundle.
50+
51+
### Legacy context menu support
52+
53+
Windows 11 introduced support for registering MSIX-packaged Shell extensions (right-click context menus) that appear in the classic context menu. This is primarily relevant when converting legacy desktop apps to MSIX.
54+
55+
**Windows 10 alternative:** Use the Package Support Framework (PSF) or deliver context menu extensions through a separate Win32 installer on Windows 10.
56+
57+
### Mutable package directories
58+
59+
Mutable package directories allow apps to write to a subdirectory within the install location, rather than the virtualized container. Requires Windows 11.
60+
61+
**Windows 10 alternative:** Write to `ApplicationData.Current.LocalFolder` (AppData\Local\Packages\...\LocalState) or a location outside the package.
62+
63+
### MSIX Persistent Identity
64+
65+
MSIX Persistent Identity ensures that an app's package identity (family name, publisher, etc.) survives uninstall and reinstall. Without it, data in `LocalState` is deleted when the app is uninstalled. Requires Windows 11.
66+
67+
**Windows 10 alternative:** Store persistent data outside the package container — for example, in `%APPDATA%`, `%LOCALAPPDATA%` (outside the Packages folder), or a database in `%ProgramData%`.
68+
69+
### Dynamic dependencies
70+
71+
Dynamic dependencies allow packaged apps to take runtime dependencies on framework packages that aren't declared at packaging time. This is the mechanism underlying the Windows App SDK's support for unpackaged apps. The Windows App SDK dynamic dependency APIs (including the `Mdd*` APIs and bootstrapper flow) are supported on both Windows 10 and Windows 11 where the Windows App SDK is supported. A separate OS-native dynamic dependency implementation is also available on Windows 11, version 22H2 and later.
72+
73+
**Windows 10 guidance:** Use the Windows App SDK dynamic dependency APIs or bootstrapper to handle dependency resolution on Windows 10 — no workaround is needed.
74+
75+
## Windows 10-specific considerations
76+
77+
### Sideloading policy
78+
79+
On Windows 10 version 2004 and later, signed non-Store MSIX packages can generally be installed by double-click without separately enabling sideloading. On older Windows 10 versions (pre-2004), sideloading must be enabled via Developer Mode or the `AllowAllTrustedApps` Group Policy.
80+
81+
Exceptions apply regardless of Windows version: unsigned packages require additional trust configuration, and enterprise-managed devices can restrict or disable non-Store app installation through policy.
82+
83+
On Windows 11, sideloading is also enabled by default for standard signed packages, subject to the same policy-based restrictions.
84+
85+
### LTSC 2021 feature limitations
86+
87+
Windows 10 LTSC 2021 (build 19044, equivalent to 20H2) is missing features that were added in Windows 10 21H1 and later:
88+
89+
| Feature | LTSC 2021 | Windows 10 21H1+ |
90+
|---|---|---|
91+
| Flexible virtualization |||
92+
| Start menu groups |||
93+
94+
If your enterprise deployment targets LTSC 2021, don't rely on flexible virtualization or packaged start menu groups.
95+
96+
### Unresolved bugs on Windows 10
97+
98+
Some MSIX issues reported on Windows 10 have not been backported and are unlikely to be fixed given Windows 10's end-of-support status. If you encounter MSIX behavior on Windows 10 that differs from Windows 11, check the open issues in the [microsoft/msix-packaging](https://github.com/microsoft/msix-packaging/issues) repository.
99+
100+
Common categories of known Windows 10-specific issues include:
101+
- Registry virtualization edge cases
102+
- App Installer reliability with certain network configurations
103+
- Packaging Tool compatibility with some installer types
104+
105+
## Packaging tools for Windows 10 targets
106+
107+
If you're packaging apps for Windows 10 and encountering tool compatibility issues, several community packaging tools provide additional compatibility workarounds:
108+
109+
- **[MSIX Packaging Tool](/windows/msix/packaging-tool/tool-overview)** (Microsoft) — the official tool; actively maintained
110+
- **[Advanced Installer](https://www.advancedinstaller.com/)** — commercial tool with strong Windows 10 MSIX support and a well-maintained compatibility matrix
111+
- **[Conveyor](https://conveyor.hydraulic.dev/)** — community tool that automates packaging for multiple targets including MSIX; useful if you also ship on macOS or Linux
112+
113+
These tools can smooth over some Windows 10 edge cases in the build process, though runtime OS limitations (such as missing Win11-only APIs) cannot be worked around in packaging.
114+
115+
## Recommendation
116+
117+
If you need to support Windows 10:
118+
119+
1. **Avoid Windows 11-only features** — don't use shared package containers, mutable package directories, persistent identity, or dynamic dependencies if your MinVersion targets Windows 10.
120+
2. **Set an accurate `MinVersion`** in your MSIX manifest's `TargetDeviceFamily` element to the oldest Windows 10 build you intend to support.
121+
3. **Test on Windows 10 specifically** — behavior differences between Windows 10 and Windows 11 are rarely caught in Windows 11-only CI pipelines.
122+
4. **Plan your Win10 EOL strategy** — with mainstream Windows 10 support ended, consider setting a roadmap to require Windows 11 in a future app version.
123+
124+
## Related content
125+
126+
- [MSIX features and supported platforms](/windows/msix/supported-platforms) — full version-by-version compatibility table
127+
- [Choose a distribution path for your Windows app](choose-distribution-path.md)
128+
- [Current status of Windows app distribution features](distribution-feature-status.md)
129+
- [Package Support Framework overview](/windows/msix/psf/package-support-framework-overview)

hub/apps/package-and-deploy/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ items:
1313
href: ../package-and-deploy/publish-first-app.md
1414
- name: Code signing options
1515
href: ../package-and-deploy/code-signing-options.md
16+
- name: MSIX on Windows 10 and Windows 11
17+
href: ../package-and-deploy/msix-windows10-windows11.md
1618
- name: Packaging
1719
items:
1820
- name: Overview

0 commit comments

Comments
 (0)