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

# Solución de problemas de desarrollo con XStore

> Solucione problemas comunes de la API XStore durante el desarrollo y las pruebas de juegos de XBOX, incluidos derechos, sandboxes y problemas de inicio de sesión en PC.

## Derechos

Cuando los derechos no coincidan con la actividad de compra de un jugador, compruebe los casos siguientes:

* Si está probando en un sandbox de desarrollo en PC, las cuentas de prueba de XBOX deben iniciar sesión en la aplicación XBOX antes de iniciar sesión en Microsoft Store. Si una cuenta de prueba inicia sesión primero en Microsoft Store, Microsoft Store usa de forma predeterminada el entorno RETAIL.
* Los derechos de pedido anticipado están inactivos hasta su fecha de lanzamiento y no se devuelven en las consultas de derechos basadas en el cliente.
* Asegúrese de que las cuentas de prueba estén restringidas a comprar dentro de un único sandbox. El servicio de colecciones puede devolver resultados no válidos si la cuenta tiene derechos en varios sandboxes.
* Si está probando en un sandbox de desarrollo en consola, se concede inmediatamente un derecho para un producto gratuito después de seleccionar el botón **Get** en la página de detalles del producto en Microsoft Store o cuando el juego llama a [XStoreShowPurchaseUIAsync](/reference/system/xstore/xstore_members). El derecho se concede incluso si se anula la compra. Para evitar que se produzca una concesión automática de derechos, publique el contenido complementario con un precio distinto de cero en el sandbox.

Para obtener más información sobre los derechos, consulte [Concesión a los jugadores de acceso a contenido complementario](/publishing/xstore-commerce/xstore-granting-access).

## Licencias

Cuando se adquiera una licencia para contenido que un jugador no posee, compruebe que no se esté produciendo uso compartido de licencias o almacenamiento en caché en el dispositivo.

* El uso compartido de licencias y el almacenamiento en caché pueden dejar las máquinas de prueba en un estado no limpio.
  * Quitar cuentas de un dispositivo no elimina su designación como cuenta "sin conexión". Las licencias con capacidad sin conexión siguen compartiéndose con otras cuentas hasta que se cambie la designación o hasta que expiren las licencias.
  * Cuando se agrega una nueva cuenta a un PC, la configuración de "Offline permissions" puede habilitarse automáticamente para la cuenta, lo que puede provocar un uso compartido de licencias inesperado.
* Para garantizar un entorno de PC limpio, pruebe siempre en una máquina virtual nueva.
* Para devolver la consola a un estado limpio, pruebe los pasos siguientes:
  * Deshabilite "Home XBOX" (Settings > General > Personalization > My home XBOX) para cada cuenta de prueba antes de quitarlas del dispositivo.
  * Ejecute "Reset home XBOX" (Settings > Developer > Developer Settings) varias veces (15+) para quitar la designación del dispositivo de las cuentas más antiguas y, a continuación, reinicie la consola.
  * Si las licencias siguen compartiéndose, es posible que sea necesario un restablecimiento de fábrica.

Para obtener más información sobre las licencias, consulte [Concesión a los jugadores de acceso a contenido complementario](/publishing/xstore-commerce/xstore-granting-access).

## La devolución de llamada asignada en `XPackageRegisterPackageInstalled` no se ejecuta cuando se instala el DLC (Durable con paquete)

Si el estado de instalación del DLC no es evidente, compruebe primero `xbapp listdlc` o `wdapp listdlc` para verificar que el DLC esperado esté en la lista.

A continuación, compruebe que el `AllowedProduct` del microsoftgame.config del DLC coincida con el del nodo `StoreId` del juego base en su microsoftgame.config.

Si este DLC es un producto de Smart Delivery y el juego base de XBOX Series X/S está usando un paquete de DLC de ERA, y el `AllowedProduct` del appxmanifest del DLC de ERA no es el mismo que el identificador de producto asignado al juego base de XBOX Series X/S (`xbapp list /d`), es posible que tenga que invalidar el identificador de producto. Esta invalidación solo es posible para una compilación empaquetada:

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

Esta situación puede darse con un juego base de XBOX One que se haya migrado desde el sitio retirado del Portal para desarrolladores de XBOX.

## `XStoreShowPurchaseUIAsync` en PC muestra brevemente el cuadro de diálogo de compra y, después, devuelve `E_ABORT`

Este problema puede producirse cuando:

* Se llama a XStoreShowPurchaseUIAsync desde un proceso con privilegios elevados (Administrador).
* Está depurando en Visual Studio con privilegios de administrador, o desde cualquier proceso configurado para ejecutarse como administrador. La solución es evitar llamar a esta API mientras se ejecuta como administrador.
* El UAC (Control de cuentas de usuario) está configurado para no mostrar el aviso de confirmación en el escritorio del usuario interactivo.

El UAC se rige por estos valores del Registro:

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

`EnableLUA` debe ser `1`. En algunos casos, cambiar `PromptOnSecureDesktop` a `0` también puede ser eficaz.

Esta [página](https://learn.microsoft.com/windows/security/identity-protection/user-account-control/user-account-control-group-policy-and-registry-key-settings) contiene más información sobre este y otros controles relacionados.

## Códigos de error relacionados con XStore

| Valor hexadecimal | Error                                   | Descripción                                                                      |
| ----------------- | --------------------------------------- | -------------------------------------------------------------------------------- |
| 0x803F6300        | `XSTORE_E_NULL_LICENSE_SERVICE_CONTEXT` | El contexto del servicio de licencias no está disponible.                        |
| 0x803F6301        | `XSTORE_E_NULL_STORE_CONTEXT`           | El objeto de contexto de la tienda es nulo o no está inicializado.               |
| 0x803F6302        | `XSTORE_E_INVALID_ID`                   | Se pasó un identificador no válido o desconocido.                                |
| 0x803F6303        | `XSTORE_E_INVALID_REQUEST`              | La solicitud tiene parámetros o un formato no válidos.                           |
| 0x803F6304        | `XSTORE_E_INVALID_RESPONSE`             | La respuesta del servicio de la tienda fue inesperada o no válida.               |
| 0x803F6305        | `XSTORE_E_ZERO_RESULTS`                 | Se devolvieron cero resultados cuando se esperaban resultados distintos de cero. |
| 0x803F6306        | `XSTORE_E_NULL_INPUT_PARAMETER`         | El parámetro requerido proporcionado era nulo.                                   |
| 0x803F6307        | `XSTORE_E_INVALID_INPUT_PARAMETER`      | El parámetro de entrada proporcionado no es válido.                              |
| 0x803F6308        | `XSTORE_E_INVALID_VERSION`              | Los clientes que realizan la solicitud no cumplen la versión mínima requerida.   |
| 0x803F6309        | `XSTORE_E_BAD_CONVERSION`               | No se pudo convertir correctamente el parámetro requerido o la respuesta.        |

## Documentación de referencia de la API

* [XStore (contenido de la API)](/reference/system/xstore/xstore_members)
  * Funciones
    * [XStoreShowPurchaseUIAsync](/reference/system/xstore/xstore_members)

## Consulte también

[Información general del comercio](/publishing/xstore-commerce/xstore-commerce-overview)

[Habilitación del desarrollo y las pruebas de XStore](/publishing/xstore-commerce/xstore-product-testing-setup)

[Referencia de la API XStore](/reference/system/xstore/xstore_members)


## Related topics

- [XStoreShowPurchaseUIAsync](/es/reference/system/xstore/functions/xstoreshowpurchaseuiasync.md)
- [Concesión de acceso a los jugadores al contenido de complemento](/es/publishing/xstore-commerce/xstore-granting-access.md)
- [Habilitación del desarrollo y las pruebas de XStore](/es/publishing/xstore-commerce/xstore-product-testing-setup.md)
- [Solución de problemas](/es/services/xbox-services/develop/troubleshooting/index.md)
- [Cambio correcto de sandbox para las operaciones de la Tienda](/es/publishing/xstore-commerce/xstore-switching-sandbox.md)
