Paquetes de aplicaciones de conjuntos planos

Importante

Si quiere enviar su aplicación a la Store, debe ponerse en contacto con el soporte técnico para desarrolladores de Windows a fin de obtener la aprobación para usar conjuntos planos.

Los lotes planos son una manera mejorada de agrupar los archivos del paquete de la aplicación. Un archivo de lote de aplicaciones de Windows típico usa una estructura de empaquetado de varios niveles en la que los archivos del paquete de la aplicación deben incluirse dentro del lote, los lotes planos eliminan esta necesidad haciendo referencia solo a los archivos del paquete de la aplicación, lo que les permite estar fuera del lote de aplicaciones. Dado que los archivos del paquete de la aplicación ya no están incluidos en el lote, se pueden procesar en paralelo, lo que da como resultado un menor tiempo de carga, una publicación más rápida (ya que cada archivo del paquete de la aplicación se puede procesar al mismo tiempo) y, en última instancia, iteraciones de desarrollo más rápidas.

Flat Bundle Diagram

Otra ventaja de los lotes planos es la necesidad de crear menos paquetes. Dado que solo se hace referencia a los archivos del paquete de la aplicación, dos versiones de la aplicación pueden hacer referencia al mismo archivo del paquete si el paquete no ha cambiado entre las dos versiones. Esto le permite tener que crear solo los paquetes de la aplicación que han cambiado cuando compile los paquetes para la siguiente versión de la aplicación. De manera predeterminada, los lotes planos harán referencia a los archivos del paquete de la aplicación dentro de la misma carpeta que ellos. Pero esta referencia se puede cambiar a otras rutas de acceso (rutas de acceso relativas, recursos compartidos de red y ubicaciones http). Para ello, debe proporcionar directamente un elemento BundleManifest durante la creación del lote plano.

Instrucciones para crear un lote plano

Se puede crear un lote plano mediante la herramienta MakeAppx.exe o con el diseño de empaquetado que se usa para definir la estructura del lote.

Uso de MakeAppx.exe

Para crear un lote plano con MakeAppx.exe, use el comando "MakeAppx.exe bundle" como de costumbre, pero con el modificador /fb para generar el archivo de lote de aplicaciones plano (que será muy pequeño, ya que solo hace referencia a los archivos del paquete de la aplicación y no contiene ninguna carga real).

Este es un ejemplo de la sintaxis de comando:

MakeAppx bundle [options] /d <content directory> /fb /p <output flat bundle name>

Para obtener más información sobre el uso de MakeAppx.exe, vea Creación de un paquete de la aplicación con la herramienta MakeAppx.exe.

Uso del diseño de empaquetado

Como alternativa, puede crear un lote plano mediante el diseño de empaquetado. Para ello, establezca el atributo FlatBundle en true en el elemento PackageFamily del manifiesto del lote de aplicaciones. Para obtener más información sobre el diseño del empaquetado, vea Creación de paquetes con el diseño de empaquetado.

Instrucciones para implementar un lote plano

Para poder implementar un lote plano, cada uno de los paquetes de la aplicación (además del lote de aplicaciones) debe estar firmado con el mismo certificado. Esto se debe a que todos los archivos del paquete de la aplicación (.appx/.msix) ahora son archivos independientes y ya no están incluidos en el archivo del lote de aplicaciones (.appxbundle/.msixbundle).

Una vez firmados los paquetes, puede instalar la aplicación mediante una de estas opciones:

  • Haga doble clic en el archivo del lote de aplicaciones para instalarlo con el Instalador de aplicación.
  • Use el cmdlet Add-AppxPackage en PowerShell y apunte al archivo del lote de aplicaciones (suponiendo que los paquetes de la aplicación estén donde el lote de aplicaciones espera que estén).

No se pueden implementar los paquetes .appx/.msix individuales de un lote plano por sí mismos. Deben implementarse mediante .appxbundle/.msixbundle. Pero puede actualizar paquetes .appx/.msix individuales de un lote plano después de realizar la instalación inicial. Si actualiza el paquete .appx/.msix individual, también deberá actualizar el manifiesto del lote plano.

Por ejemplo, si el lote plano v1 se compone de un archivo .msixbundle, uno .msix de x86, uno .msix de x64 y un recurso .msix, y sabe que el lote v2 solo tiene cambios en el paquete de recursos, solo tiene que compilar el archivo .msixbundle y el recurso .msix para poder instalar la actualización. Debe compilar .msixbundle para v2 porque el lote realiza un seguimiento de todas las versiones de sus paquetes .msix. Al pasar la versión del recurso .msix a v2, necesita un nuevo archivo .msixbundle que tenga esta nueva referencia. El archivo .msixbundle v2 puede contener referencias a los archivos .msix de x86 y .msix de x64 de v1; los paquetes .msix de un lote plano no necesitan tener el mismo número de versión.