Guide de test MSIX avant soumission : Détectez les problèmes de packaging localement, pas pendant la certification du Store
2026-06-01
Tags: Windows · Microsoft Store · MSIX · Pièges du Store
Dans Pièges du Store #4, nous avons rencontré un problème où le trimming .NET désactivait silencieusement des fonctionnalités WinUI 3 — tout fonctionnait parfaitement en Debug local, mais le package Release était rejeté après soumission. Le point commun de ces problèmes : si l'on vérifie localement l'artefact empaqueté avant la soumission, de nombreux pièges peuvent être évités à l'avance. Bien sûr, tous les problèmes ne peuvent pas être détectés en avance (par exemple, l'entrée fantôme dans le menu Démarrer causée par une dépendance est difficile à reproduire localement), mais cela permet au moins d'intercepter une grande majorité.
Cet article résume un processus de vérification locale avant soumission MSIX, couvrant la certification WACK, l'installation de certificats auto-signés, l'installation des dépendances et les tests sur une machine virtuelle propre.
Étape 1 : Exécuter le WACK (Windows App Certification Kit)
Le WACK est un outil de pré-certification local fourni par Microsoft. Il exécute une série de vérifications sur votre package, simulant certains des tests de certification du Store.
Quelques points importants :
- Seuls les packages Release peuvent être vérifiés, les packages Debug ne sont pas pris en charge — ce qui vous oblige idéalement à tester la build Release
- Le WACK est marqué comme obsolète par Microsoft (plus maintenu), mais reste utilisable pour des vérifications locales optionnelles ; la certification officielle s'exécute automatiquement après la soumission au Store
- Réussir le WACK ne garantit pas le passage de la certification Store, mais il vous aide à intercepter de nombreux problèmes de base (conformité des API, performances, sécurité, etc.)
Utilisation : dans l'assistant de packaging et de publication de Visual Studio, à l'étape de sélection et configuration du package, cochez l'option en bas « Générer le projet pour valider l'application avec le Kit de certification des applications Windows ». Une fois le packaging terminé, un bouton « Lancer le Kit de certification des applications Windows » apparaît. Vous pouvez aussi rechercher Windows App Certification Kit dans le menu Démarrer pour le lancer manuellement.
Étape 2 : Créer un package Test avec certificat auto-signé
Cette étape est un peu délicate.
Les packages MSIX doivent être signés pour pouvoir être installés. Pendant le développement, Visual Studio utilise un certificat temporaire, mais le package MSIX obtenu n'inclut pas nécessairement un certificat utilisable. Voici le processus réel :
D'abord, créer un package en mode chargement indépendant
- Clic droit sur le projet → Empaqueter et publier
- Sélectionner Chargement indépendant (ne pas choisir Microsoft Store)
- Sélectionner le certificat de signature et terminer le packaging
Ensuite, créer un package Test en mode Store
- Empaqueter et publier à nouveau, cette fois en sélectionnant Microsoft Store (AppName fourni par PublisherName)
- Le package Test ainsi créé (dans le dossier
_Testdu répertoireAppPackages) contiendra le certificat auto-signé
Si vous sautez les étapes 1 à 3 et créez directement un package Store, le certificat MSIX sera vide — un détail particulièrement sournois.
Étape 3 : Installer le certificat
Une fois le package Test avec certificat obtenu :
Installer le certificat
- Clic droit sur le fichier
.msix→ Propriétés → onglet Signatures numériques - Sélectionner la signature → Détails → Afficher le certificat
- Installer le certificat → sélectionner Ordinateur local → le placer dans le magasin Personnes de confiance (Trusted People)
Remarque : le Publisher (CN) du certificat doit correspondre au <Publisher> dans Package.appxmanifest, sinon l'installation échouera.
Étape 4 : Installer les dépendances et le package MSIX
Si votre projet Windows App SDK est en mode framework-dependent (c'est le réglage par défaut), l'exécution de l'application dépend du runtime Windows App Runtime. Lors de la distribution via le Store, les dépendances sont gérées automatiquement, mais pour les tests locaux, elles doivent être installées manuellement.
La bonne nouvelle : le dossier _Test du package Test contient un sous-répertoire Dependencies avec les packages de dépendances classés par architecture :
AppPackages/
MyApp_1.0.0.0_x64_Test/
Dependencies/
x64/
Microsoft.WindowsAppRuntime.1.8.msix
...
MyApp_1.0.0.0_x64.msixOrdre d'installation : d'abord installer le runtime depuis Dependencies, puis l'application elle-même.
En mode self-contained (si <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> est défini dans .csproj), aucune dépendance supplémentaire n'est nécessaire — le runtime est déjà inclus dans l'application.
Étape 5 : Vérification complète sur une machine virtuelle propre
La machine de développement a trop de choses installées — divers SDK, runtimes, caches. Que votre application fonctionne là-bas ne signifie pas qu'elle fonctionnera chez les utilisateurs. Il est recommandé de parcourir l'ensemble du processus dans un environnement propre.
Solutions de virtualisation
Les deux options conviennent :
- Hyper-V Quick Create : la solution recommandée par Microsoft. Rechercher « Hyper-V Quick Create » dans le menu Démarrer et sélectionner « MSIX Packaging Tool Environment » pour créer une VM
- VMware : la solution que j'utilise personnellement. Créer une VM Windows 10/11 propre, prendre un snapshot et restaurer l'état propre avant chaque test
Quelle que soit l'option choisie, l'exigence essentielle est unique : l'environnement doit être le plus proche possible de l'environnement de première installation des utilisateurs.
Ce qu'il faut vérifier sur la VM propre
- Installer le certificat auto-signé (procédure de l'étape 3)
- Installer les packages de dépendances (étape 4)
- Installer l'application elle-même
- Lancer l'application et vérifier les fonctionnalités principales
- Vérifier le menu Démarrer, la barre d'état système, la désinstallation, etc.
Liste de contrôle
Parcourez cette liste avant de soumettre au Store :
- [ ] Créer un package Test avec la configuration Release
- [ ] Exécuter le WACK et s'assurer qu'il n'y a pas d'erreurs critiques
- [ ] Vérifier que le package Test contient un certificat auto-signé (faire d'abord un packaging en mode chargement indépendant)
- [ ] Installer le certificat sur Ordinateur local → Personnes de confiance
- [ ] Effectuer une vérification complète sur une VM propre : installer le certificat → installer les dépendances → installer l'application → tester les fonctionnalités
- [ ] En mode framework-dependent, vérifier que les packages de dépendances s'installent correctement
- [ ] L'application démarre normalement, les fonctionnalités principales sont disponibles, le menu Démarrer/la désinstallation fonctionnent correctement
Cet article est une lecture complémentaire de la série Pièges du Store.