Skip to main content
Vous utilisez MSIXVC2 ? Pour comparer la taille des mises à jour entre MSIXVC et MSIXVC2, empaquetez les deux builds à l’aide de makepkg. Pour plus d’informations, consultez Mises à jour de contenu avec MSIXVC2 et Prise en main de MSIXVC2 pour PC.

Vue d’ensemble

Cet article explique comment fournir des mises à jour de contenu, quels outils utiliser pour générer et mesurer les mises à jour, et comment tester les principaux scénarios de mise à jour pour garantir un comportement attendu et optimal.

Fonctionnement des mises à jour de contenu

Les services de jeu réduisent toujours au minimum le nombre d’octets à transférer lorsque vous fournissez une mise à jour de packages de jeu. Cette optimisation s’applique à la fois aux clients sur les appareils de jeu et aux développeurs lors du chargement des packages. Le système calcule cette différence (delta) à l’aide d’algorithmes qui, dans les grandes lignes, tentent de maximiser les correspondances de segments de 4 Kio entre deux packages. Le système encode ce delta dans des fichiers .xsp (plan de streaming de mise à jour). Grâce à ces fichiers, le système sait exactement quels octets télécharger depuis le réseau et comment les appliquer à n’importe quelle version existante possible du package. Pour simuler et tester avec précision le comportement des mises à jour delta pendant le développement, utilisez les options makepkg appropriées pour créer les packages. Utilisez également les commandes appropriées pour installer et mettre à jour les packages.

Créer une mise à jour basée sur une version précédente du package

Utilisez makepkg pack pour créer des packages. Pour créer un package qui utilise un package précédent, utilisez le paramètre /priorpackage :
Le package précédent doit avoir la même identité de package que le package que vous créez, telle que définie dans le fichier microsoftgame.config. La commande crée un fichier .xsp nommé [new package name]_update-[old version number].[guid].xsp. Par exemple, 41336MicrosoftATG.ATGGameHubRequiredGame_200.0.0.0_neutral__dspnxghe87tn0_xs_update-100.0.0.0.5890f4a0-b449-4c5d-80ff-b78b19ed3439.xsp Ce fichier est le plan de streaming qui encode ce qui doit changer lors de la mise à jour de l’ancien package vers le nouveau. La section sur le test des mises à jour montre comment utiliser ce plan.

Examiner la taille de la mise à jour

Lorsque vous exécutez la commande précédente, elle génère deux fichiers supplémentaires portant le même nom : un fichier .html et un fichier .json. Les deux fichiers contiennent les informations suivantes :
  1. Un récapitulatif des octets téléchargés par la mise à jour
  2. Un tableau qui récapitule la quantité de données installées par la mise à jour pour une balise, une langue ou un type d’appareil spécifique
  3. Un tableau triable des fichiers qui indique le nombre d’octets modifiés par la mise à jour et le pourcentage de la taille totale du fichier que représente cette modification
  4. Pour chaque fichier qui n’est pas mis à jour à 100 %, des liens vers des tableaux individuels qui indiquent les plages de données modifiées par la mise à jour dans chaque fichier
Utilisez ces informations pour identifier les fichiers les plus modifiés dans une mise à jour. Examinez les fichiers individuels pour vérifier si la proportion et l’emplacement des modifications sont conformes à vos attentes. Si certains fichiers entraînent une mise à jour plus volumineuse que d’habitude, consultez les recommandations de la section Création efficace des mises à jour. packageutil compare appliqué aux deux fichiers .xvc génère également ces mêmes fichiers et fournit un récapitulatif des différences entre les packages. Cette commande génère également le fichier .xsp.

Chargements delta

Les chargements dans Partner Center tirent automatiquement parti des algorithmes de calcul delta. Le delta entre votre dernier package chargé (pour cette branche) et le package en cours de chargement est calculé au début, de sorte que seules les données modifiées sont transférées de l’ordinateur de chargement vers le service d’ingestion.

Test des mises à jour

Pour valider la taille de la mise à jour telle qu’elle apparaît dans l’interface utilisateur du système, procédez comme suit :
  1. xbapp install [old version.xvc]
  2. xbapp update [new version.xvc] (/plan=[.xsp file])
Pendant la mise à jour, accédez à la File d’attente dans l’interface utilisateur du système pour voir le nombre d’octets en cours de mise à jour, dans un format lisible. Le paramètre /plan est facultatif si le fichier .xsp a été généré précédemment par d’autres commandes et se trouve au même emplacement que les fichiers .xvc. Sur PC, c’est la commande wdapp qui est utilisée à la place. Les fichiers de package ont l’extension .msixvc, et la progression de l’installation et de la mise à jour est visible dans la section de la file d’attente de téléchargement de l’application XBOX et de l’application Microsoft Store. wdapp update ne prend pas en charge le paramètre /plan. Elle utilise le fichier .xsp généré pour la version cible, s’il en existe un.

Annonce des mises à jour

L’annonce des mises à jour diffère légèrement des autres méthodes de mise à jour. Lorsque vous annoncez une mise à jour, vous rendez la mise à jour disponible pour le jeu, ce qui entraîne un comportement spécifique du système. Pour annoncer une mise à jour disponible, appliquez l’indicateur /m ou /a à la commande update de xbapp ou wdapp. Avec cette action, la mise à jour n’est appliquée qu’au lancement du jeu. Lorsque cette condition se produit :
  • Console : une boîte de dialogue système s’affiche pour indiquer qu’une mise à jour est requise.
  • PC : pour les builds de développement, aucune invite système ne s’affiche et la build peut être lancée librement, sauf si elle a été installée à l’aide de wdapp install ou du programme d’amorçage. Dans ce cas, le lancement du jeu appelle le programme d’amorçage PC, qui recherche les mises à jour et vous invite à les installer.
L’annonce de la mise à jour entraîne également une réaction de certaines API XStore, ce qui permet au jeu de détecter les mises à jour disponibles. Ce comportement concerne surtout les packages de DLC. Pour plus d’informations, consultez Recherche de mises à jour.

Mises à jour de packages du Store

Les exemples précédents portent sur l’installation et la mise à jour à l’aide de packages locaux. Dans certains scénarios, vous pouvez souhaiter tester des mises à jour à l’aide de packages que vous avez chargés dans Partner Center et téléchargés à partir du CDN du Store. Ce processus valide deux éléments : les performances lors de la mise à jour à partir du Store, et l’utilisation du plan de streaming généré dans le cadre du processus d’ingestion. Malheureusement, vous ne pouvez pas effectuer de mise à jour d’un package local vers un package du Store en raison de différences de signature. Ce que vous pouvez faire, sans aide supplémentaire, c’est charger une seule version dans Partner Center, puis installer cette version à partir de l’application Store sur un ou plusieurs kits de développement. Ensuite, chargez la nouvelle version. Lorsque la nouvelle version est publiée, vérifiez, sur les kits de développement sur lesquels l’ancienne version est installée, que la nouvelle version est détectée et qu’elle peut être mise à jour avec la taille de delta attendue. Pour répéter ce test, avant la mise à jour, copiez l’installation de l’ancienne version sur un lecteur externe afin de pouvoir la recopier ultérieurement par-dessus une nouvelle version. Si vous n’avez pas enregistré cette version, vous pouvez demander l’URL du CDN à partir de laquelle une ancienne version peut être installée à l’aide de xbapp install ou wdapp install. Après avoir installé une ancienne version, vous pouvez répéter le test de mise à jour.

Mises à jour hybrides disque et CDN

Les mises à jour s’appliquent également aux installations à partir de disques optiques. Lorsque vous effectuez une installation à partir d’un disque, le processus d’installation installe tout le contenu du disque qui n’a pas changé par rapport au dernier package numérique disponible à partir du disque. Le processus d’installation installe simultanément le reste du contenu à partir du CDN du Store. Ce processus se déroule automatiquement. Pour simuler ce processus, utilisez la commande suivante :
La mise à disposition du package de mise à jour via un serveur HTTP permet de contourner le fait qu’une installation ne peut avoir qu’une seule source à partir du stockage local du PC de développement. Si vous gravez un disque de test à l’aide du package .xvc du disque, le package de disque peut pointer vers le chemin du disque optique.

Voir aussi

Bonnes pratiques relatives aux mises à jour de contenu Recherche de mises à jour
Last modified on October 6, 2026