Empaquetado de paquetes MSIX

En este artículo se describe el proceso de creación de un empaquetado después de convertir las versiones x86 y x64 de los instaladores de Windows mediante MSIX Packaging Tool.

Al empaquetar las distintas versiones de la arquitectura del instalador en una única entidad, solo el empaquetado se debe cargar en Store u otra ubicación de distribución. La plataforma de implementación de Windows 10 tiene en cuenta el tipo de paquete .msixbundle y solo descargará los archivos que sean aplicables a la arquitectura del dispositivo. Ten en cuenta que si decides distribuir un paquete .msixbundle para una aplicación en particular, no puedes volver a distribuir solo un paquete de MSIX.

En la siguiente sección se presenta un enfoque paso a paso para compilar un paquete .msixbundle. Se da por supuesto que ya has convertido las versiones x86 y x64 existentes del instalador de Windows a paquetes de MSIX.

Configurar

Necesitarás la siguiente configuración para compilar correctamente un empaquetado de MSIX:

Paso 1: Búsqueda de MakeAppx.exe

MakeAppx.exe es una herramienta disponible en el SDK de Windows 10 que permite el empaquetado y la unión de paquetes de MSIX. Usa esta herramienta para empaquetar los dos paquetes de MSIX.

MakeAppx.exe se puede utilizar para extraer el contenido de archivos de un paquete de aplicación o empaquetado de Windows 10. También cifra y descifra los paquetes de aplicaciones y los empaquetados.

Después de instalar el SDK de Windows 10, MakeAppx.exe se suele encontrar aquí:

  • [x86] - C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe
  • [x64] - C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.17763.0\x64\MakeAppx.exe

Paso 2: Agrupación de los paquetes

La forma más sencilla de empaquetar paquetes con MakeApp.exe es agregar todos los paquetes que desees empaquetar a una carpeta. El directorio no debe contener nada más que los paquetes que se necesitan empaquetar.

Mueve los paquetes de aplicaciones que desees empaquetar a un directorio, tal como se muestra en la captura de pantalla siguiente.

Bundle packages in a directory

Nota:

MakeAppx.exe solo empaqueta paquetes que tengan la misma identidad, lo que significa que el valor de AppID, publicador y versión debe ser el mismo. Solo puede ser diferente la arquitectura del procesador de paquetes para un paquete de aplicación.

MakeAppx.exe tiene la siguiente sintaxis de línea de comandos.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe" bundle /d input_directorypath 
/p <filepath>.msixbundle

Este es un comando de ejemplo.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe" bundle /d c:\AppPackages\ 
/p c:\MyLOBApp_10.0.0.0_ph32m9x8skttmg.msixbundle

Después de ejecutar el comando, se creará un archivo .msixbundle sin firmar en la ruta especificada. No es necesario que los paquetes estén firmados antes de la agrupación.

Paso 3: Firma de la agrupación

Después de crear la agrupación, debe firmar el paquete para poder distribuir la aplicación a los usuarios o instalarla.

Para firmar un paquete, necesita un certificado de firma de código general y debe usar el archivo SignTool.exe del SDK de Windows 10.

Es muy recomendable que use un certificado de confianza de la entidad de certificación, ya que esto permite distribuir e implementar el paquete en los dispositivos de los usuarios finales sin problemas. Una vez que tenga acceso al certificado privado (archivo .pfx), puede firmar el paquete tal y como se muestra a continuación.

Nota:

SignTool.exe está disponible en el mismo directorio que MakeAppx. exe en el SDK de Windows 10.

SignTool.exe tiene la siguiente sintaxis de línea de comandos.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\SignTool.exe" sign /fd <Hash Algorithm> /a 
/f <Path to Certificate>.pfx /p <Your Password> <File path>.msixbundle

Este es un comando de ejemplo.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\SignTool.exe" sign /fd SHA256 /a 
/f c:\private-cert.pfx /p aaabbb123 c:\MyLOBApp_10.0.0.0_ph32m9x8skttmg.msixbundle

Para más información sobre la firma de paquetes de aplicaciones con SignTool.exe, consulta este artículo.

Después de firmar correctamente el paquete, ya puedes hospedarlo en un recurso compartido de red o en cualquier red de distribución de contenido para distribuirlo a los usuarios.