Skip to main content
En este artículo se explica cómo crear paquetes para la instalación por streaming a lo largo del ciclo de vida de desarrollo, incluidas la iteración local, la validación de rendimiento, las pruebas previas al envío y el envío final. Se describen los pasos que ejecuta la herramienta MakePkg durante el empaquetado y se destacan las prácticas recomendadas para empaquetar y probar la instalación por streaming durante el desarrollo.

Introducción

MakePkg.exe es una herramienta que coloca contenido en un archivo binario empaquetado, denominado XBOX Virtual Container (XVC). Los paquetes para consola tienen la extensión de nombre de archivo .xvc y los paquetes para PC tienen la extensión de nombre de archivo .msixvc. Además de la diferencia de extensión, se agrega un sufijo al nombre del paquete para diferenciar entre los paquetes de la familia XBOX One (_x) y los de la familia XBOX Series X|S (_xs). MakePkg.exe usa el contenido del título y un archivo de asignación como entrada para producir paquetes cifrados mediante una clave de prueba conocida, una clave generada aleatoriamente o una clave estable segura para el cifrado. La clave que se usa para el cifrado depende de si el paquete está destinado a pruebas locales o al envío a Microsoft para su publicación. En las secciones siguientes se detallan los casos de uso. El XML del archivo de asignación tiene dos finalidades. En primer lugar, especifica la ubicación de los archivos que están disponibles para el título en tiempo de ejecución. En segundo lugar, especifica el archivo de fragmento (chunk) al que pertenece cada archivo. Un conjunto de fragmentos, conocido como el conjunto de inicio (launch set), se instala siempre antes de que se permita ejecutar un título. Los fragmentos restantes se instalan mientras el título se ejecuta. Hay API disponibles para consultar el progreso de la instalación de fragmentos y para modificar el orden de instalación de los fragmentos que aún no se han instalado. En este artículo:

Pasos durante el empaquetado

El proceso de empaquetado de MakePkg incluye varios pasos.

Validación de MicrosoftGame.config y de la existencia de archivos

El comando makepkg comprueba que el archivo MicrosoftGame.config del directorio de origen de contenido sea válido y se pueda instalar. Cuando ejecuta el comando makepkg pack, este garantiza que los archivos a los que se hace referencia en MicrosoftGame.config estén en el directorio de origen. Valida que estos archivos estén incluidos en el paquete para el conjunto de inicio. Esta validación incluye archivos binarios, archivos de imagen y cualquier otro recurso.

Firma de binarios

XBOX Code Integrity (XCI) examina y firma los archivos del título. Como parte de este proceso, modifica los encabezados PE detectados en los archivos antes de escribirlos en el archivo de paquete. Si se produce un error en la firma, se notifica un mensaje de error. El mensaje incluye un comando para volver a ejecutar manualmente xcihash.exe y recopilar más detalles sobre el error de firma.

Creación del paquete

En cuanto MakePkg completa los pasos de validación previa, crea un archivo de paquete. A continuación, MakePkg copia los archivos de origen, incluidos los ejecutables firmados, en el archivo de paquete en los fragmentos especificados por el archivo de asignación XML.
Solo consola: el último paso de la creación del paquete implica incrustar un archivo del sistema operativo Game OS (GameOs.xvd). Este archivo forma parte del Microsoft Game Development Kit (GDK) y debe estar en el directorio de diseño junto al ejecutable del juego. La marca /gameos especifica una ubicación de origen alternativa para el archivo de Game OS.

Cifrado

Firma de prueba (cifrado predeterminado)

El comportamiento predeterminado de MakePkg es crear paquetes firmados con firma de prueba, pero también se indica con el modificador /lt al llamar a makepkg pack. La firma de prueba cifra el archivo de paquete generado mediante una clave de cifrado de prueba conocida, pensada para la validación de pruebas de rendimiento, para la ejecución en XBOX y PC. Aunque el efecto del descifrado de paquetes en tiempo real está diseñado para ser transparente para el título, esto garantiza que cualquier posible problema de rendimiento derivado del cifrado se detecte antes de la certificación y la publicación final de los títulos. Los paquetes firmados con firma de prueba no están pensados para proteger criptográficamente el contenido, ya que el cifrado usa una clave fija. Un paquete firmado con firma de prueba se puede instalar en un kit de desarrollo mediante xbapp install y en un equipo PC de desarrollo mediante wdapp install.

Cifrado con clave aleatoria (modificador /l)

El modificador /l de MakePkg cifra el archivo de paquete con una clave de cifrado generada aleatoriamente. Además del paquete del título, MakePkg /l genera un archivo con un nombre con el formato PackageFullName_licenseName_GUID.EKB. (Observe el uso del carácter de subrayado (_).) Los paquetes creados con el modificador /l no se pueden instalar en un kit de desarrollo ni en un equipo PC de desarrollo. Debe probar el título mediante paquetes firmados con firma de prueba hasta que el título supere todas las comprobaciones y pruebas previas al envío. Después de alcanzar ese estado, ejecute MakePkg con el modificador /l antes del envío final a Microsoft.

Recomendado: cifrado con clave estable (Genkey + modificador /lk)

El modificador /lk de Makepkg cifra el paquete con una clave estable (siempre la misma) creada por el comando makepkg genkey. Además del paquete del título, makepkg /lk genera archivos con nombres con el formato PackageFullName_licenseName_GUID.EKB y PackageFullName_licenseName_GUID.CEKB. (Observe el uso del carácter de subrayado (_).) Los paquetes creados con el modificador /lk se pueden instalar en un kit de desarrollo, pero no en un equipo PC de desarrollo. En el caso de los equipos PC, debe probar el título mediante paquetes firmados con firma de prueba hasta que el título supere todas las comprobaciones y pruebas previas al envío. Este es el modo de cifrado recomendado para las pruebas en kits de desarrollo y el envío, debido a estas ventajas:
  1. packageutil compare puede generar estimaciones correctas del tamaño de las actualizaciones (a diferencia de /l).
  2. Permite la carga diferencial segura a Partner Center mediante el mismo algoritmo que usan las consolas y los equipos PC para descargar actualizaciones de contenido.
  3. Se puede instalar en kits de desarrollo (a diferencia de /l).
  4. Usa material de clave de cifrado seguro y solo se puede descifrar en entornos específicos (a diferencia de /lt).
A diferencia de los modos de cifrado /lt y /l, el modo /lk requiere un paso adicional único para usarlo:
  1. Una sola vez: ejecute makepkg genkey /ekb SECRET_KEY.lekb para crear el archivo SECRET_KEY.lekb. Este es el Local Escrowed Key Blob (LEKB), que almacena la clave de contenido estable que cifra el paquete. Debe almacenarse en una ubicación segura con acceso restringido según la necesidad. En una configuración ideal, solo las máquinas y cuentas de compilación oficiales deberían tener acceso a él.
  2. Creación del paquete: ejecute makepkg pack /lk SECRET_KEY.lekb .... Esto crea un paquete cifrado con la clave almacenada en el archivo SECRET_KEY.lekb.
  3. Carga del paquete: los archivos XVC y EKB se cargan en Partner Center de la forma habitual. Los archivos LEKB y CEKB no se cargan.
xbapp install instala automáticamente el archivo CEKB necesario para cargar el paquete en un kit de desarrollo XBOX. Si está probando un escenario de instalación distinto de la instalación basada en herramientas (disco de juego, almacenamiento externo, transferencia de consola a consola), use el comando xbapp installkey para instalar solo el archivo CEKB.
El contenido del archivo LEKB solo está ligeramente ofuscado. Es su responsabilidad garantizar la seguridad de los paquetes de contenido protegiendo el acceso al archivo LEKB. Cualquiera que posea el archivo LEKB y el archivo del paquete de contenido generado por makepkg pack
puede descifrar su contenido.
El contenido del archivo CEKB permite cargar el paquete en cualquier kit de desarrollo XBOX activo. Es su responsabilidad garantizar la seguridad de los paquetes de contenido protegiendo el acceso al archivo CEKB. Cualquiera que posea el archivo CEKB, un kit de desarrollo XBOX activo y el archivo del paquete de contenido generado por makepkg pack
puede instalar el paquete en su kit de desarrollo, puede iniciar el paquete y puede extraer con xbcp los archivos del paquete.

Validación de envío

MakePkg ejecuta automáticamente Submission Validator (SubmissionValidator.dll) sobre los archivos del título después de crear el paquete. El objetivo de Submission Validator es comprobar errores y problemas que pueden causar inconvenientes a los títulos más adelante en los procesos de ingesta, envío o certificación en Microsoft, o en futuras actualizaciones de contenido. Debe corregir todos los problemas detectados antes de poder generar un paquete firmado para cargarlo en Partner Center. El proceso de validación de envío genera un archivo de registro XML que detalla la naturaleza y la ubicación de los errores. El proceso escribe este archivo de registro en la misma ubicación especificada por el parámetro /pd de MakePkg para la salida del archivo de paquete. Este registro puede contener errores o advertencias. Debe resolver los errores antes de poder enviar un paquete a Microsoft. Considere corregir las advertencias para garantizar que los títulos cumplan las directivas y las directrices de XBOX Requirements (XR). Cuando carga un paquete en Partner Center y lo envía para el proceso de ingesta, las comprobaciones de validación se ejecutan de nuevo. Este proceso garantiza que el título se compruebe con la versión más reciente de Submission Validator y que cualquier problema se detecte lo antes posible.

Pruebas de validación de envío

Las pruebas específicas evolucionan con el tiempo a medida que Microsoft identifica nuevos problemas. Superar las comprobaciones de Submission Validator no debe interpretarse como una indicación de que no surgirán otros problemas con el envío del título durante el proceso de ingesta y certificación. Más bien, la intención es simplemente reducir el tiempo y el costo de los rechazos derivados de errores previsibles. Además, aunque Submission Validator puede comprobar ciertos problemas relacionados con la seguridad, no debe considerarse una prueba de seguridad para un título. Puede descargar la versión más reciente de Submission Validator desde el sitio XBOX Game Developer (XGD). Dado que la herramienta puede evolucionar a un ritmo diferente al de las versiones del Software Development Kit de XBOX One, asegúrese de usar la versión más reciente para evitar rechazos por errores de validación en el proceso de envío. Para obtener la versión más reciente, consulte XBOX Developer Downloads->XBOX One->Submission Validator. Para obtener más información sobre Submission Validator, consulte Submission Validator (SubmissionValidator.dll) en la documentación del GDK. Si tiene preguntas sobre el proceso de validación, póngase en contacto con su representante de cuentas de Microsoft.

Pasos recomendados para el empaquetado durante el desarrollo

Para crear paquetes durante el desarrollo, siga estos pasos. Use wdapp en lugar de xbapp cuando el destino sea PC.
  1. Itere localmente mediante paquetes firmados con firma de prueba y xbapp install desde su PC de desarrollo. MakePkg.exe pack /f Mapfile /d LooseContentDir /pd OutputFolder Para empezar, consulte XBOX Developer Downloads.
  2. Ejecute el título iniciándolo desde el shell o mediante xbapp launch. xbapp install local-XVC-path o xbapp install http-URI Para probar opciones alternativas de instalación por streaming, consulte Pruebas de paquetes de instalación por streaming más adelante en este artículo.
  3. Pruebe la instalación del título desde la unidad óptica mediante un paquete firmado con firma de prueba grabado en un disco Blu-ray en la carpeta raíz. Después de insertar el disco en el kit de desarrollo XBOX, ejecute el comando siguiente. xbapp install XO:\XVC-file-name
  4. Prepare el envío final mediante el mismo comando de empaquetado que el paquete firmado con firma de prueba, pero agregue la marca /l.

Pruebas de paquetes de instalación por streaming (PC)

Use el comando wdapp para instalar paquetes en el equipo PC de prueba.
Actualmente, el paquete MSIXVC de prueba debe existir en una unidad física del equipo PC de prueba o en un servidor web. En una actualización futura, se agregará la instalación desde recursos compartidos de Convención de nomenclatura universal (UNC).
Para obtener más información, consulte Introducción al empaquetado para PC.

Pruebas de paquetes de instalación por streaming (consola)

Puede probar la instalación de paquetes de instalación por streaming firmados con firma de prueba de cuatro maneras.

Transmitir desde el PC de desarrollo

La transmisión desde el PC de desarrollo no admite ninguna limitación de rendimiento. La velocidad de la instalación depende de las características del procesador y de E/S de su PC de desarrollo, así como del ancho de banda de la conexión de red entre el PC de desarrollo y el kit de desarrollo. Puede esperar velocidades de 300 Mbps (aproximadamente 36 MiB/s) o superiores en conexiones Ethernet de gigabit desde equipos PC de desarrollo modernos con discos duros mecánicos. xbapp install dev-pc-path-to-XVC Instalación mediante la línea de comandos Instalación mediante XBOX Manager

Hospedar el paquete en un servidor web

Si su servidor web admite la configuración de limitación de ancho de banda, hospedar el paquete en un servidor web permite simular diferentes velocidades de entrega de red. La plataforma XBOX One controla los errores de conexión y la lógica de reintento. El título debería ejecutarse igual al instalarse desde un origen de Internet que desde un disco óptico, salvo por la velocidad. xbapp install http-URI-to-package Instalación mediante la línea de comandos Instalación mediante XBOX Manager

Grabar el paquete en un disco y, después, instalarlo desde la línea de comandos

Grabe un disco óptico con el XVC en el directorio raíz y, después, instale el paquete mediante el comando siguiente. xbapp install XO:\XVC-file-name

Grabar el paquete en un disco y, después, instalarlo mediante el shell

Grabe un disco óptico con una carpeta denominada MSXC que contenga el paquete. Inserte el disco en un kit de desarrollo en funcionamiento. El shell comienza a instalar el título automáticamente y el kit de desarrollo muestra una notificación después de que se instala el conjunto de inicio y el título se puede iniciar.

Prácticas recomendadas

Use actualizaciones de contenido de subarchivos

Use actualizaciones de contenido de subarchivos, que reducen el tamaño de las actualizaciones de contenido. Cree el diseño del paquete de forma que garantice actualizaciones de contenido óptimas en el futuro. Para obtener más información sobre cómo crear paquetes para una actualización óptima, consulte Prácticas recomendadas de actualización de contenido.

XBOX Requirement 034 (XR-034: Streaming Install Initial Play Marker)

Incluir un marcador de reproducción inicial es opcional, pero muy recomendable. Permite a un usuario ejecutar el título antes de que esté completamente instalado, mientras la instalación continúa en segundo plano. Según XR-034: Streaming Install Initial Player Marker, los títulos que incluyen un marcador de reproducción inicial deben proporcionar una experiencia de juego cuando se inician desde dicho marcador.

Pruebe el título

Pruebe el título mientras se instala desde varios orígenes y a diferentes velocidades.

Use la versión más reciente de Submission Validator

Use siempre la versión más actualizada de Submission Validator. La versión más reciente de Submission Validator está disponible en XBOX Developer Downloads->XBOX One->Submission Validator.

Errores de empaquetado causados por conexiones de datos abiertas

Cuando instala un paquete mediante xbapp install /w, o cuando XBOX Manager instala un paquete con la opción Keep data connection open habilitada (que se usa para escenarios de Intelligent Delivery y de fragmentos a petición), la canalización de datos entre la consola y el archivo de paquete en su PC permanece abierta después de que finaliza la instalación. Esta conexión abierta bloquea el archivo de paquete. Si intenta recompilar o reempaquetar el título mientras esta canalización está abierta, makepkg genera un error de infracción de uso compartido porque no puede escribir en el archivo de paquete bloqueado. Para resolver este problema, cierre la conexión de datos abierta antes de recompilar:
  • XBOX Manager: en la aplicación XBOX Manager, busque el paquete instalado y desactive la opción Keep data connection open, o desinstale y vuelva a instalar el paquete sin esa opción habilitada.
  • xbapp install: omita la marca /w cuando no necesite que la canalización permanezca abierta después de la instalación. Use /w solo cuando el título necesite solicitar fragmentos adicionales en tiempo de ejecución durante las pruebas de desarrollo.
  • Cerrar XBOX Manager: cerrar XBOX Manager por completo libera todos los identificadores de archivo abiertos que mantiene sobre los archivos de paquete.
Si usa una integración de motor (como las herramientas de plataforma XBOX de Unreal Engine) que genera el archivo de paquete en un directorio de salida fijo, asegúrese de que XBOX Manager libere el archivo antes de desencadenar una nueva compilación. Mover el directorio de salida entre compilaciones es otra forma de evitar conflictos.

Recursos y orientación

Para obtener más información, consulte los artículos siguientes:

Consulte también

MicrosoftGame.config Submission Validator (SubmissionValidator.dll) Pruebas de calidad de Submission Validator XBOX Manager: administración de aplicaciones y archivos
Última modificación el 28 de agosto de 2026