MSIX sur Windows 10 et Windows 11

MSIX fonctionne à la fois sur Windows 10 et sur Windows 11, mais toutes les fonctionnalités ne sont pas disponibles sur les deux. Plusieurs fonctionnalités ont été introduites avec Windows 11 et n’ont pas été rétroportées, et certains bogues Windows 10 restent non résolus. Cette page vous aide à comprendre ce qui fonctionne, de sorte que vous pouvez prendre des décisions éclairées en matière d’empaquetage lorsque vous devez prendre en charge Windows 10.

Important

Windows 10 support standard a pris fin le 14 octobre 2025 (toutes les versions non LTSC). Windows 10 LTSC 2021 est pris en charge jusqu’au 12 janvier 2027. Si votre public cible est toujours sur Windows 10, planifiez en conséquence : les bogues des fonctionnalités sont peu susceptibles d’être corrigés sur les versions antérieures de Windows 10.

Comparaison des fonctionnalités : Windows 10 et Windows 11

Le tableau ci-dessous compare la disponibilité des fonctionnalités MSIX entre la dernière version de Windows 10 (22H2, qui a la même prise en charge des fonctionnalités que 21H2) et Windows 11.

Fonctionnalité Windows 10 (22H2) Windows 11
Installation et désinstallation de CORE MSIX
Prise en charge du fichier d'installation de l'application (.appinstaller)
Chargement latéral (installation hors-Store) ✅ Nécessite une AllowAllTrustedApps stratégie ou un mode développeur ✅ Activé par défaut
Windows services dans MSIX ✅ (nécessite Windows 10 version 2004+)
Package avec emplacement externe (packages épars) ✅ (nécessite Windows 10 version 2004+)
Applications hébergées ✅ (nécessite Windows 10 version 2004+)
Application de l’intégrité du paquet (hors Store) ✅ (nécessite Windows 10 version 2004+)
Virtualisation flexible ✅ (nécessite Windows 10 version 21H1+)
Groupes de menus Démarrer ✅ (nécessite Windows 10 version 21H1+)
Packages de modification
Package Support Framework (PSF)
Conteneurs de packages partagés ❌ Windows 11 uniquement
Prise en charge du menu contextuel hérité (extensions Shell) ❌ Windows 11 uniquement
Répertoires de package mutables ❌ Windows 11 uniquement
Identité persistante MSIX (survit à la réinstallation) ❌ Windows 11 uniquement
Dépendances dynamiques ✅ Via les APIs de dépendance dynamique de SDK d'application Windows (Mdd*/bootstrapper) sur les versions de SDK d'application Windows prises en charge ; ❌ API native du système d'exploitation ✅ via SDK d'application Windows ; API native du système d’exploitation disponible sur Windows 11, version 22H2+

Pour connaître la répartition complète des versions par version sur toutes les versions Windows 10, consultez les fonctionnalités MSIX et les plateformes prises en charge.

fonctionnalités Windows 11 uniquement

Si votre application utilise l’une des fonctionnalités suivantes, elle ne fonctionne pas sur Windows 10 :

Conteneurs de packages partagés

Les conteneurs de packages partagés permettent à plusieurs applications empaquetées de partager un espace de noms de package commun, ce qui leur permet de partager des données et des paramètres. Cette fonctionnalité nécessite Windows 11.

Windows 10 alternative : Utiliser un emplacement de données Win32 partagé (par exemple, %ProgramData% ou un canal nommé) en dehors du conteneur MSIX, ou restructurez les applications en tant que packages associés au sein d’un même bundle.

Prise en charge du menu contextuel ancien

Windows 11 introduit la prise en charge de l’inscription d’extensions Shell empaquetées MSIX (menus contextuels en cliquant avec le bouton droit) qui s’affichent dans le menu contextuel classique. Cela est principalement pertinent lors de la conversion d’applications de bureau héritées en MSIX.

Windows 10 alternative : Utilisez l’infrastructure de support de package (PSF) ou fournissez des extensions de menu contextuel via un programme d’installation Win32 distinct sur Windows 10.

Répertoires de package mutables

Les répertoires de package mutables permettent aux applications d’écrire dans un sous-répertoire au sein de l’emplacement d’installation, au lieu du conteneur virtualisé. Nécessite Windows 11.

Windows 10 alternative : Écrire dans ApplicationData.Current.LocalFolder (AppData\Local\Packages...\LocalState) ou un emplacement en dehors du package.

Identité persistante MSIX

MSIX Persistent Identity garantit que l’identité du package d’une application (nom de famille, éditeur, etc.) survive à désinstaller et réinstaller. Sans cela, les données dans LocalState sont supprimées lorsque l’application est désinstallée. Nécessite Windows 11.

Windows 10 alternative : Stocker des données persistantes en dehors du conteneur de package, par exemple, dans %APPDATA%, %LOCALAPPDATA% (en dehors du dossier Packages) ou une base de données dans %ProgramData%.

Dépendances dynamiques

Les dépendances dynamiques permettent aux applications empaquetées de prendre des dépendances d’exécution sur des packages d’infrastructure qui ne sont pas déclarés au moment de l’empaquetage. Il s'agit du mécanisme sous-jacent à la prise en charge du SDK d'application Windows pour les applications non empaquetées. Les API de dépendance dynamique SDK d'application Windows (y compris les API Mdd* et le flux de programme d’amorçage) sont prises en charge à la fois sur les Windows 10 et les Windows 11 où le SDK d'application Windows est pris en charge. Une implémentation de dépendance dynamique native du système d’exploitation distincte est également disponible sur Windows 11, version 22H2 et ultérieures.

Windows 10 conseils : Utilisez les API de dépendance dynamique SDK d'application Windows ou le programme d’amorçage pour gérer la résolution des dépendances sur Windows 10. Aucune solution de contournement n’est nécessaire.

considérations spécifiques à Windows 10

Stratégie de chargement indépendant

Sur Windows 10 version 2004 et versions ultérieures, les packages MSIX non-Store signés peuvent généralement être installés en double-cliquant sans activer séparément le chargement latéral. Sur les versions antérieures de Windows 10 (antérieures à 2004), le chargement latéral doit être activé via le Mode développeur ou la Stratégie de groupe AllowAllTrustedApps.

Les exceptions s’appliquent indépendamment de Windows version : les packages non signés nécessitent une configuration d’approbation supplémentaire, et les appareils gérés par l’entreprise peuvent restreindre ou désactiver l’installation d’applications non-Store via la stratégie.

Sur Windows 11, l'installation de contenu tiers est également active par défaut pour les packages signés standard, soumis aux mêmes restrictions basées sur des politiques.

Limitations des fonctionnalités LTSC 2021

Windows 10 LTSC 2021 (build 19044, équivalente à 20H2) manque de fonctionnalités ajoutées dans Windows 10 21H1 et versions ultérieures :

Fonctionnalité LTSC 2021 Windows 10 21H1+
Virtualisation flexible
Groupes de menus Démarrer

Si votre déploiement d’entreprise cible LTSC 2021, ne vous fiez pas à la virtualisation flexible ou aux groupes de menus de démarrage préemballés.

Bogues non résolus sur Windows 10

Certains problèmes MSIX signalés sur Windows 10 n'ont pas été rétroportés et sont peu susceptibles d'être résolus en fonction de l'état de fin de support de Windows 10. Si vous rencontrez un comportement MSIX sur Windows 10 qui diffère de Windows 11, vérifiez les problèmes ouverts dans le référentiel microsoft/msix-packaging.

Les catégories courantes de problèmes connus spécifiques aux Windows 10 sont les suivantes :

  • Cas particuliers de virtualisation du registre
  • Fiabilité du programme d’installation d’application avec certaines configurations réseau
  • Compatibilité de l’outil d’empaquetage avec certains types d’installation

Outils d’empaquetage pour les cibles Windows 10

Si vous empaquetez des applications pour Windows 10 et rencontrez des problèmes de compatibilité avec des outils, plusieurs outils de la communauté pour l'empaquetage fournissent des solutions de contournement de compatibilité supplémentaires.

  • MSIX Packaging Tool (Microsoft) — l’outil officiel ; géré activement
  • Advanced Installer — outil commercial avec prise en charge Windows 10 MSIX forte et une matrice de compatibilité bien gérée
  • Tapis roulant : outil communautaire qui automatise l’empaquetage pour plusieurs cibles, y compris MSIX ; utile si vous envoyez également sur macOS ou Linux

Ces outils peuvent atténuer certains cas particuliers de Windows 10 dans le processus de génération, bien que les limitations du système d'exploitation à l'exécution (comme l'absence d'API exclusives à Win11) ne puissent être contournées dans l'empaquetage.

Recommandation

Si vous devez prendre en charge Windows 10 :

  1. Évitez les fonctionnalités réservées à Windows 11 — n'utilisez pas de conteneurs de package partagés, de répertoires de package mutables, d'identité persistante ou de dépendances dynamiques si votre MinVersion cible Windows 10.
  2. Définissez un MinVersion précis dans l'élément TargetDeviceFamily de votre manifeste MSIX à la build la plus ancienne de Windows 10 que vous souhaitez prendre en charge.
  3. Test sur Windows 10 spécifiquement : les différences de comportement entre Windows 10 et Windows 11 sont rarement interceptées dans les pipelines CI Windows 11 uniquement.
  4. Planifiez votre stratégie de fin de vie de Win10 — avec la prise en charge standard de Windows 10 ayant pris fin, envisagez de définir une feuille de route pour exiger Windows 11 dans une future version de l'application.