> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Résolution des problèmes de développement XStore

> Résolvez les problèmes courants de l'API XStore lors du développement et du test de jeux XBOX, notamment les droits d'utilisation, les sandboxes et les problèmes de connexion sur PC.

## Droits d'utilisation

Lorsque les droits d'utilisation ne correspondent pas à l'activité d'achat d'un joueur, vérifiez les cas suivants :

* Si vous effectuez des tests dans une sandbox de développement sur PC, les comptes de test XBOX doivent se connecter à l'application XBOX avant de se connecter au Microsoft Store. Si un compte de test se connecte d'abord au Microsoft Store, celui-ci utilise par défaut l'environnement RETAIL.
* Les droits d'utilisation des précommandes sont inactifs jusqu'à leur date de sortie et ne sont pas renvoyés par les requêtes de droits d'utilisation côté client.
* Veillez à ce que les comptes de test soient limités aux achats dans une seule sandbox. Le service Collections peut renvoyer des résultats non valides si le compte possède des droits d'utilisation dans plusieurs sandboxes.
* Si vous effectuez des tests dans une sandbox de développement sur console, un droit d'utilisation est immédiatement accordé pour un produit gratuit après la sélection du bouton **Get** sur la page des détails du produit dans le Microsoft Store ou lorsque le jeu appelle [XStoreShowPurchaseUIAsync](/fr/reference/system/xstore/xstore_members). Le droit d'utilisation est accordé même si l'achat est abandonné. Pour éviter l'octroi automatique d'un droit d'utilisation, publiez le contenu d'extension avec un prix non nul dans la sandbox.

Pour plus d'informations sur les droits d'utilisation, consultez [Accorder aux joueurs l'accès au contenu d'extension](/fr/publishing/xstore-commerce/xstore-granting-access).

## Licences

Lorsqu'une licence est acquise pour un contenu que le joueur ne possède pas, vérifiez qu'aucun partage ni mise en cache de licence ne se produit sur l'appareil.

* Le partage et la mise en cache de licences peuvent laisser les machines de test dans un état non propre.
  * La suppression de comptes d'un appareil ne supprime pas leur désignation « hors connexion ». Les licences compatibles hors connexion continuent d'être partagées avec d'autres comptes jusqu'à ce que la désignation soit modifiée ou que les licences expirent.
  * Lorsqu'un nouveau compte est ajouté à un PC, le paramètre « Autorisations hors connexion » peut être activé automatiquement pour ce compte, ce qui peut entraîner un partage de licences inattendu.
* Pour garantir un environnement PC propre, effectuez toujours vos tests dans une nouvelle machine virtuelle.
* Pour ramener la console à un état propre, essayez les étapes suivantes :
  * Désactivez « XBOX principale » (Paramètres > Général > Personnalisation > Ma XBOX principale) pour chaque compte de test avant de les supprimer de l'appareil.
  * Exécutez « Réinitialiser la XBOX principale » (Paramètres > Développeur > Paramètres du développeur) plusieurs fois (15+) pour supprimer la désignation de l'appareil pour les anciens comptes, puis redémarrez la console.
  * Si les licences continuent d'être partagées, une réinitialisation aux paramètres d'usine peut être nécessaire.

Pour plus d'informations sur les licences, consultez [Accorder aux joueurs l'accès au contenu d'extension](/fr/publishing/xstore-commerce/xstore-granting-access).

## Le rappel affecté dans `XPackageRegisterPackageInstalled` n'est pas déclenché lorsqu'un DLC (durable avec package) est installé

Si l'état d'installation du DLC n'est pas évident, vérifiez d'abord `xbapp listdlc` ou `wdapp listdlc` pour confirmer que le DLC attendu est répertorié.

Vérifiez ensuite que l'élément `AllowedProduct` du fichier microsoftgame.config du DLC correspond à celui du nœud `StoreId` du fichier microsoftgame.config du jeu de base.

Si ce DLC est un produit Smart Delivery, que le jeu de base XBOX Series X/S utilise un package DLC ERA et que l'élément `AllowedProduct` du fichier appxmanifest du DLC ERA n'est pas identique à l'ID de produit attribué au jeu de base XBOX Series X/S (`xbapp list /d`), vous devrez peut-être substituer l'ID de produit. Cette substitution n'est possible que pour une build empaquetée :

```cmd theme={null}
makepkg pack /d <dir> /pd <dir> /contentid <contentid> /productid <product ID of ERA product> /productidoverride
```

Cette situation peut se produire avec un jeu de base XBOX One migré depuis l'ancien site XBOX Developer Portal, désormais retiré.

## `XStoreShowPurchaseUIAsync` sur PC affiche brièvement la boîte de dialogue d'achat puis renvoie `E_ABORT`

Ce problème peut se produire lorsque :

* XStoreShowPurchaseUIAsync est appelée à partir d'un processus élevé (administrateur).
* Vous déboguez dans Visual Studio avec des privilèges d'administrateur, ou à partir de tout processus configuré pour s'exécuter en tant qu'administrateur. La solution consiste à éviter d'appeler cette API lors d'une exécution en tant qu'administrateur.
* Le contrôle de compte d'utilisateur (UAC) est configuré pour ne pas afficher l'invite de confirmation sur le bureau de l'utilisateur interactif.

L'UAC est régi par ces valeurs de registre :

`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA` `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktop`

`EnableLUA` doit être `1`. Dans certains cas, définir `PromptOnSecureDesktop` sur `0` peut également être efficace.

Cette [page](https://learn.microsoft.com/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings) fournit plus d'informations sur ce paramètre et sur d'autres contrôles associés.

## Codes d'erreur liés à XStore

| Valeur hexadécimale | Erreur | Description |
| - | - | - |
| 0x803F6300 | `XSTORE_E_NULL_LICENSE_SERVICE_CONTEXT` | Le contexte du service de licences n'est pas disponible. |
| 0x803F6301 | `XSTORE_E_NULL_STORE_CONTEXT` | L'objet de contexte du Store est null ou n'est pas initialisé. |
| 0x803F6302 | `XSTORE_E_INVALID_ID` | Un ID non valide ou inconnu a été transmis. |
| 0x803F6303 | `XSTORE_E_INVALID_REQUEST` | La requête contient des paramètres ou un format non valides. |
| 0x803F6304 | `XSTORE_E_INVALID_RESPONSE` | La réponse du service Store était inattendue ou non valide. |
| 0x803F6305 | `XSTORE_E_ZERO_RESULTS` | Aucun résultat n'a été renvoyé alors que des résultats étaient attendus. |
| 0x803F6306 | `XSTORE_E_NULL_INPUT_PARAMETER` | Un paramètre requis fourni était null. |
| 0x803F6307 | `XSTORE_E_INVALID_INPUT_PARAMETER` | Le paramètre d'entrée fourni n'est pas valide. |
| 0x803F6308 | `XSTORE_E_INVALID_VERSION` | Les clients qui effectuent la requête ne respectent pas la version minimale requise. |
| 0x803F6309 | `XSTORE_E_BAD_CONVERSION` | Impossible de convertir correctement le paramètre ou la réponse requis. |

## Documentation de référence de l'API

* [XStore (contenu de l'API)](/fr/reference/system/xstore/xstore_members)
  * Fonctions
    * [XStoreShowPurchaseUIAsync](/fr/reference/system/xstore/xstore_members)

## Voir aussi

[Vue d'ensemble du commerce](/fr/publishing/xstore-commerce/xstore-commerce-overview)

[Activation du développement et des tests XStore](/fr/publishing/xstore-commerce/xstore-product-testing-setup)

[Référence de l'API XStore](/fr/reference/system/xstore/xstore_members)


## Related topics

- [Intégration des partenaires XBOX : accès et publication](/fr/home/onboarding.md)
- [Intégration des partenaires XBOX pour l'accès au GDK](/fr-CA/home/onboarding.md)
- [Guide des BVT de certification pour PC](/fr-CA/publishing/game-publishing/concepts/certification/certification-pc-bvt-guide.md)
- [Guide BVT de certification pour PC](/fr/publishing/game-publishing/concepts/certification/certification-pc-bvt-guide.md)
- [Cas de test les plus souvent en échec](/fr/publishing/certification/xr-top-failing.md)
