> ## 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.

# Dépannage du développement XStore

> Résolvez les problèmes courants de l'API XStore pendant le développement et les tests de jeux XBOX, notamment ceux liés aux droits d'utilisation, aux bacs à sable et à la 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 un bac à sable 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, le Microsoft Store 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 effectuées côté client.
* Assurez-vous que les comptes de test sont limités aux achats dans un seul bac à sable. Le service Collections peut renvoyer des résultats non valides si le compte possède des droits d'utilisation dans plusieurs bacs à sable.
* Si vous effectuez des tests dans un bac à sable de développement sur console, un droit d'utilisation est immédiatement accordé pour un produit gratuit après avoir sélectionné le bouton **Get** sur la page de détails du produit dans le Microsoft Store ou lorsque le jeu appelle [XStoreShowPurchaseUIAsync](/fr-CA/reference/system/xstore/xstore_members). Le droit d'utilisation est accordé même si l'achat est annulé. Pour éviter l'octroi automatique d'un droit d'utilisation, publiez le contenu d'extension avec un prix non nul dans le bac à sable.

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

## Licences

Lorsqu'une licence est acquise pour du contenu qu'un 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 des 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 le 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 remettre la console dans un état propre, essayez les étapes suivantes :
  * Désactivez « Ma 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 pourrait être nécessaire.

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

## Le rappel attribué dans `XPackageRegisterPackageInstalled` n'est pas déclenché lorsque le 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 figure dans la liste.

Vérifiez ensuite que la valeur `AllowedProduct` du fichier microsoftgame.config du DLC correspond à celle du nœud `StoreId` du jeu de base dans son fichier microsoftgame.config

Si ce DLC est un produit Smart Delivery et que le jeu de base XBOX Series X/S utilise un package de DLC ERA, et que la valeur `AllowedProduct` dans le fichier appxmanifest du DLC ERA n'est pas la même que l'ID de produit attribué au jeu de base XBOX Series X/S (`xbapp list /d`), vous pourriez devoir 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 qui a été migré à partir du site XBOX Developer Portal, maintenant retiré.

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

Ce problème peut se produire dans les cas suivants :

* XStoreShowPurchaseUIAsync est appelé à 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.

Le contrôle de compte d'utilisateur 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, le fait de basculer `PromptOnSecureDesktop` à `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) contient plus d'informations sur ce contrôle et d'autres contrôles connexes.

## 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 nul 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 comporte des paramètres ou un format non valides. |
| 0x803F6304 | `XSTORE_E_INVALID_RESPONSE` | La réponse du service du 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 obligatoire fourni était nul. |
| 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 des API

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

## Voir aussi

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

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

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


## Related topics

- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [Intégration des partenaires XBOX pour l'accès au GDK](/fr-CA/home/onboarding.md)
- [Intégration des partenaires XBOX : accès et publication](/fr/home/onboarding.md)
- [Exigences XBOX testées lors de la certification pour les jeux sur console XBOX](/fr-CA/publishing/certification/console-cert-tested-requirements.md)
- [Documentation de développement de jeux XBOX](/fr-CA/index.md)
