Descripción del Problema

Después de migrar una aplicación de UWP a WinUI 3, al intentar generar un paquete para la Microsoft Store en Visual Studio, se produce un archivo .msix en lugar del esperado .appxupload o .msixbundle. Esto causa que el Centro de Partners de Microsoft rechace el envío, ya que los envíos anteriores usaban .msixbundle o .appxbundle, y se requiere mantener el mismo formato en futuras versiones.

Pasos para Resolver el Problema

Paso 1: Descargar e Instalar el SDK de Windows 10

Primero, asegúrate de tener instalado el SDK de Windows 10 (versión 1809 o superior). Puedes descargarlo desde Bundle MSIX Packages - Microsoft. En algunos casos, el enlace a la descarga directa puede estar roto, por lo que también puedes descargar el WDK (Windows Driver Kit), que incluye las herramientas necesarias como MakeAppx.exe y SignTool.exe, desde Download WDK.

Descarga e instala la versión más reciente del WDK: WDK 10.0.26100.1. Cabe mencionar que la extensión de Visual Studio para el WDK está incluida en la instalación por defecto, lo que facilita la integración con tus proyectos.

Paso 2: Agrupar los Paquetes MSIX

Para agrupar los paquetes en un solo .msixbundle, debes ubicar MakeAppx.exe, que viene incluido con el SDK de Windows. Normalmente se encuentra en:

C:\Program Files (x86)\Windows Kits\10\bin\<version>\x64\MakeAppx.exe

Una vez localizado MakeAppx.exe, sigue estos pasos:

  1. Crea una carpeta y mueve allí los paquetes MSIX de las diferentes arquitecturas (por ejemplo, x86 y x64).
  2. Ejecuta el siguiente comando en PowerShell para crear el .msixbundle:
& "C:\Program Files (x86)\Windows Kits\10\bin\<version>\x64\MakeAppx.exe" bundle /d "C:\ruta\a\tu\carpeta\" /p "C:\ruta\a\tuarchivo.msixbundle" code-box
Advertencia: Usa el carácter & al inicio del comando en PowerShell para evitar errores de ejecución.alert-warning
Advertencia: Asegúrate de que en la carpeta estén solo los archivos .msix o .appx. Otros archivos pueden causar problemas al crear el .msixbundle.alert-warning

Paso 3: Firmar el Paquete

Una vez que hayas agrupado los paquetes, necesitarás firmar el archivo .msixbundle usando SignTool.exe. Este también se encuentra en el SDK de Windows. La ruta generalmente es:

C:\Program Files (x86)\Windows Kits\10\bin\<version>\x64\SignTool.exe

Ejecuta el siguiente comando para firmar tu paquete:

& "C:\Program Files (x86)\Windows Kits\10\bin\<version>\x64\signtool.exe" sign /fd SHA256 /a /f "C:\ruta\a\certificado.pfx" /p "tu_contraseña" "C:\ruta\a\archivo.msixbundle" code-box

Conclusión

Siguiendo estos pasos, podrás generar y firmar el paquete .msixbundle necesario para enviar tu aplicación a la Microsoft Store, solucionando el problema causado por la migración de UWP a WinUI 3.

Si prefieres automatizar el proceso completo, puedes usar los scripts PowerShell proporcionados.

Post a Comment

Artículo Anterior Artículo Siguiente