Empaquetado de una aplicación para UWP o escritorio en Visual Studio

Antes de distribuir la aplicación, debes empaquetarla. En este artículo se describe el proceso de configuración, creación y prueba de un paquete MSIX con Visual Studio.

Tipos de paquetes de aplicación

  • Paquete de la aplicación (.msix o. appx)
    Un único paquete que contiene la aplicación y sus recursos, destinados a una arquitectura de dispositivo único. Por ejemplo, un paquete de aplicación x64 o x86. Cuando el destino de un lote de aplicaciones son varias arquitecturas, tienes que generar uno para cada arquitectura.

  • Lote de aplicaciones (.msixbundle o .appxbundle)
    Un lote de aplicaciones es un tipo de paquete que puede contener varios paquetes de aplicaciones, cada uno de ellos compilado para la compatibilidad con una arquitectura de dispositivo específica. Por ejemplo, un lote de aplicaciones puede contener tres paquetes de aplicaciones independientes para las configuraciones x86, x64 y ARM. Deben generarse lotes de aplicaciones siempre que sea posible, ya que permiten que tu aplicación esté disponible en la gama de dispositivos más amplia posible.

  • Archivo de carga del paquete de la aplicación (.msixupload o .appxupload): solo para el envío a Microsoft Store
    Un único archivo que puede contener varios paquetes de aplicaciones o un lote de aplicaciones para compatibilidad con distintas arquitecturas de procesador. El archivo de carga también contiene un archivo de símbolos para analizar el rendimiento de la aplicación tras haber publicado la aplicación en Microsoft Store. Este archivo se creará automáticamente si empaquetas la aplicación con Visual Studio con la intención de enviarla al Centro de partners para publicarla en Microsoft Store.

A continuación, describimos los pasos para preparar y crear un paquete de la aplicación:

  1. Antes de empaquetar la aplicación. Sigue estos pasos para asegurarte de que la aplicación está lista para empaquetarse.

  2. Configura tu proyecto. Usa el diseñador de manifiestos de Visual Studio para configurar el paquete. Por ejemplo, agregue imágenes de icono y elija las orientaciones que admite la aplicación.

  3. Genera un paquete de la aplicación. Usa el asistente para empaquetado de Visual Studio para crear un paquete de la aplicación.

  4. Ejecuta, depura y prueba una aplicación empaquetada. Ejecuta y depura el paquete de la aplicación desde Visual Studio o mediante la instalación directa del paquete.

Antes de empaquetar la aplicación

  1. Prueba de la aplicación. Antes de empaquetar la aplicación, asegúrate de que funciona según lo previsto en todas las familias de dispositivos que planeas que sean compatibles. Estas familias de dispositivos pueden incluir equipos de escritorio, móviles, Surface Hub, Xbox, dispositivos de IoT, etc. Para más información sobre la implementación y prueba de la aplicación con Visual Studio, consulta Implementación y depuración de aplicaciones para UWP (también se aplica a aplicaciones de escritorio empaquetadas).

  2. Optimiza la aplicación. Puedes usar las herramientas de generación de perfiles y depuración de Visual Studio para optimizar el rendimiento de tu aplicación empaquetada. Por ejemplo, la herramienta Línea de tiempo para la capacidad de respuesta de la interfaz de usuario, la herramienta Uso de memoria, la herramienta Uso de CPU, etc. Para más información sobre estas herramientas, consulta el tema Paseo por las funciones de perfiles.

  3. Comprueba la compatibilidad de .NET nativo (para aplicaciones de VB y C#). En la Plataforma universal de Windows, hay un compilador nativo que mejorará el rendimiento en tiempo de ejecución de la aplicación. Con este cambio, debes probar la aplicación en este entorno de compilación. De manera predeterminada, la configuración de la compilación de la Versión habilita la cadena de herramientas nativa de .NET, por lo que es importante probar la aplicación con esta configuración de la Versión y comprobar que se comporta según lo esperado.

Configurar el proyecto

El archivo de manifiesto de la aplicación (Package.appxmanifest) es un archivo XML que contiene las propiedades y la configuración necesarias para crear el paquete de la aplicación. Por ejemplo, en las propiedades del archivo de manifiesto de la aplicación se describe la imagen que se usará como icono de la aplicación y las orientaciones que la aplicación admite cuando el usuario gira el dispositivo.

El diseñador de manifiestos de Visual Studio te permite actualizar el archivo de manifiesto sin editar el XML sin formato del archivo.

Configuración de un paquete con el diseñador de manifiestos

  1. En el Explorador de soluciones, expande el nodo del proyecto de la aplicación.

  2. Haga doble clic en el archivo Package.appxmanifest. Si el archivo de manifiesto ya está abierto en la vista de código XML, Visual Studio le pedirá que cierre el archivo.

  3. Ahora puede decidir cómo configurar la aplicación. Cada pestaña contiene información sobre la aplicación que se puede configurar y vínculos a más información, en caso necesario.

    Manifest designer in Visual Studio

    Compruebe que tiene todas las imágenes necesarias para una aplicación en la pestaña Recursos visuales. Aquí es donde proporcionaría iconos y logotipos de la aplicación.

    En la pestaña Empaquetado, puede escribir datos de la publicación. Aquí es donde puede elegir qué certificado usar para firmar la aplicación. Todas las aplicaciones MSIX deben estar firmadas con un certificado.

    Nota:

    A partir de Visual Studio 2019, ya no se genera un certificado temporal en los proyectos empaquetados de escritorio o UWP. Para crear o exportar certificados, usa los cmdlets de PowerShell que se describen en este artículo. En versiones recientes de Visual Studio, también puede firmar la aplicación con un certificado almacenado en Azure Key Vault para escenarios de desarrollo y pruebas.

    Importante

    Si publicas tu aplicación en Microsoft Store, la aplicación estará firmada con un certificado de confianza. Esto permite al usuario instalar y ejecutar la aplicación sin necesidad de instalar el certificado de firma asociado de la aplicación.

    Si instalas el paquete de la aplicación en tu dispositivo, primero el paquete debe ser de confianza. Para que el paquete sea de confianza, el certificado debe estar instalado en el dispositivo del usuario.

  4. Guarda el archivo Package.appxmanifest después de realizar las modificaciones necesarias para la aplicación.

Si distribuyes la aplicación a través de Microsoft Store, Visual Studio puede asociar el paquete con Store. Para ello, haga clic con el botón secundario en el nombre del proyecto en Explorador de soluciones y elija Publicar->Asociar aplicación con la Store (antes de Visual Studio 2019 versión 16.3, el menú Publicar se denominaba Store). También puedes hacerlo en el asistente para Crear paquetes de aplicaciones, que se describe en la siguiente sección. Cuando asocias tu aplicación, se actualizan automáticamente algunos de los campos de la pestaña Empaquetado del diseñador de manifiestos.

Generación de un paquete de la aplicación

Las aplicaciones se pueden instalar sin publicarlas en Store si se publican en su sitio web, mediante herramientas de administración de aplicaciones, como Microsoft Intune, Configuration Manager, etc. También puede instalar directamente un paquete MSIX para pruebas en su máquina remota o local.

Creación de un paquete de la aplicación mediante el asistente para empaquetado

Nota:

En las siguientes instrucciones y capturas de pantallas se describe el proceso a partir de Visual Studio 2019 versión 16.3. Si usas una versión anterior, es posible que parte de la interfaz de usuario tenga un aspecto diferente. Si empaquetas una aplicación de escritorio, haz clic con el botón derecho en el nodo Proyecto de paquete de aplicación de Windows.

  1. En el Explorador de soluciones, abre la solución del proyecto de la aplicación.

  2. Haga clic con el botón secundario en el proyecto y elija Publicar->Crear paquetes de aplicaciones (antes de Visual Studio 2019 versión 16.3, el menú Publicar se denomina Store).

    Context menu with navigation to Create App Packages

  3. Selecciona Instalación de prueba en la primera página del asistente y, a continuación, haz clic en Siguiente.

    Create Your Packages dialog window shown with Sideloading

  4. En la página Seleccionar método de firma, selecciona si quieres omitir la firma del empaquetado o selecciona un certificado para firmar. Puedes seleccionar un certificado del almacén de certificados local, seleccionar un archivo de certificado o crear un certificado nuevo. Para que un paquete MSIX se instale en la máquina de un usuario final, debe estar firmado con un certificado que sea de confianza en la máquina.

    Create Your Packages dialog window shown with Signing

  5. Completa la página Seleccionar y configurar paquetes según se describe en la sección Creación del archivo de carga del paquete con Visual Studio.

Instalación del paquete de la aplicación haciendo doble clic

Los paquetes de aplicaciones se pueden instalar haciendo doble clic simplemente en el archivo del paquete de la aplicación. Para ello, ve al paquete de la aplicación o al archivo del lote de aplicaciones y haz doble clic en él. El Instalador de aplicación se inicia y proporciona la información básica de la aplicación, así como un botón de instalación, barra de progreso de la instalación y los mensajes de error pertinentes.

Nota:

El Instalador de la aplicación supone que el paquete se firmó con un certificado de confianza en el dispositivo. Si no es así, tendrás que instalar el certificado de firma en el almacén de Entidades de certificación de personas de confianza o editores de confianza del dispositivo. Si no estás seguro de cómo hacerlo, consulta Instalación de certificados de prueba.

Instalación del paquete de la aplicación mediante un script de instalación

  1. Abra la carpeta *_Test.

  2. Haz clic con el botón derecho en el archivo Add-AppDevPackage.ps1. Elige Ejecutar con PowerShell y sigue las instrucciones.
    File explorer navigated to PowerShell script shown

    Después de instalar el paquete de la aplicación, la ventana de PowerShell muestra este mensaje: La aplicación se instaló correctamente.

  3. Haz clic en el botón Inicio para buscar la aplicación por el nombre y luego iníciala.

Pasos siguientes: Depuración y prueba del paquete de la aplicación

Consulta Ejecución, depuración y prueba de un paquete MSIX para información sobre cómo puedes depurar la aplicación en Visual Studio o con las herramientas de depuración de Windows.

Generación de un archivo de carga del paquete de la aplicación para el envío a Store

Para distribuir la aplicación a Microsoft Store, se recomienda generar un archivo de carga del paquete de la aplicación (.msixupload o .appxupload) y enviar ese archivo al Centro de partners. Aunque es posible enviar solo un paquete de la aplicación o un lote de aplicaciones al Centro de partners, se recomienda enviar un archivo de carga del paquete de la aplicación en su lugar.

Puedes crear un archivo de carga del paquete de la aplicación mediante el asistente para Crear paquetes de aplicaciones en Visual Studio, o bien puedes crear uno manualmente a partir de paquetes de aplicaciones o lotes de aplicaciones existentes.

Nota:

Si quieres crear un paquete de la aplicación (.msix o .appx) o un lote de aplicaciones (.msixbundle o .appxbundle) manualmente, consulta Creación de un paquete de la aplicación con la herramienta MakeAppx.exe.

Creación del archivo de carga del paquete de la aplicación con Visual Studio

Nota:

En las siguientes instrucciones y capturas de pantallas se describe el proceso a partir de Visual Studio 2019 versión 16.3. Si usas una versión anterior, es posible que parte de la interfaz de usuario tenga un aspecto diferente.

  1. En el Explorador de soluciones, abra la solución del proyecto de la aplicación para UWP.

  2. Haga clic con el botón secundario en el proyecto y elija Publicar->Crear paquetes de aplicaciones (antes de Visual Studio 2019 versión 16.3, el menú Publicar se denomina Store). Si esta opción está deshabilitada o no aparece, comprueba que el proyecto sea un proyecto de Windows universal.

    Context menu with navigation to Create App Packages

    Aparece el Asistente para crear paquetes de aplicaciones.

  3. Selecciona Microsoft Store con un nombre de aplicación nuevo en el primer cuadro de diálogo y, a continuación, haz clic en Siguiente.

    Create Your Packages dialog window shown with Microsoft Store

    Si ya has asociado el proyecto con una aplicación en Store, también tienes la opción de crear paquetes para la aplicación de Store asociada. Si eliges Instalación de prueba, Visual Studio no generará el archivo de carga del paquete de la aplicación (.msixupload o .appxupload) para envíos al Centro de partners. Si solo quieres crear un paquete MSIX o lote para una distribución que no es de Store, puedes seleccionar esta opción.

  4. En la página siguiente, inicia sesión con tu cuenta de desarrollador en el Centro de partners. Si aún no tienes una cuenta de desarrollador, el asistente te ayudará a crear una.

    Create App Packages window with app name selection shown

  5. Selecciona el nombre de la aplicación para el paquete en la lista de aplicaciones registradas actualmente en tu cuenta o reserva una nueva si aún no has reservado una en el Centro de partners.

  6. Asegúrate de seleccionar las tres configuraciones de arquitectura (x86, x64 y ARM) en el cuadro de diálogo Seleccionar y configurar paquetes para garantizar que tu aplicación se pueda implementar en la gama de dispositivos más amplia. En el cuadro de lista Generar lote de aplicaciones, seleccione Siempre. Se prefiere un lote de aplicaciones (.appxbundle o .msixbundle) antes que un solo archivo del paquete de la aplicación porque contiene una colección de paquetes de aplicaciones configuradas para cada tipo de arquitectura del procesador. Cuando elijas generar el lote de aplicaciones, este se incluirá en el archivo de carga del paquete de la aplicación final (.appxupload o .msixupload) junto con la información de depuración a análisis de bloqueo. Si no estás seguro de qué arquitecturas elegir o quieres obtener más información sobre qué arquitecturas se usan en distintos dispositivos, consulta Arquitecturas de paquetes de aplicaciones.

    Create App Packages window with package configuration shown

  7. Incluye archivos de símbolos públicos para analizar el rendimiento de la aplicación desde el Centro de partners después de haber publicado la aplicación. Configura los detalles adicionales, como la numeración de la versión o la ubicación de salida del paquete.

  8. Haz clic en Crear para generar el paquete de la aplicación. Si seleccionaste una de las opciones de Quiero crear paquetes para cargarlos en Microsoft Store en el paso 3 y creas un paquete para el envío al Centro de partners, el asistente creará un archivo de carga del paquete (.appxupload o .msixupload). Si seleccionaste Quiero crear paquetes para transferirlos localmente en el paso 3, el asistente creará un único paquete de la aplicación o un lote de aplicaciones en función de tus selecciones en el paso 6.

  9. Cuando la aplicación se haya empaquetado correctamente, verás este cuadro de diálogo y podrás recuperar el archivo de carga del paquete de la aplicación desde la ubicación de salida especificada. En este momento, puedes validar el paquete de la aplicación en la máquina local o en una máquina remota y automatizar los envíos a Store.

    Package creation completed window with validation options shown

Creación manual del archivo de carga del paquete de la aplicación

  1. Coloca los siguientes archivos en una carpeta:

    • Uno o más paquetes de aplicaciones (.msix o .appx) o un lote de aplicaciones (.msixbundle o .appxbundle).
    • Un archivo .appxsym. Es un archivo .pdb comprimido que contiene los símbolos públicos de la aplicación usados para el análisis de bloqueos en el Centro de partners. Puedes omitir este archivo, pero si lo haces, no habrá información de depuración o análisis de bloqueo disponible para la aplicación.
  2. Seleccione todos los archivos de la carpeta, haga clic con el botón secundario en los archivos y seleccione Enviar a ->Carpeta comprimida (en zip).

  3. Cambia el nombre de la extensión del nuevo archivo zip de .zip a .msixupload o .appxupload.

Validación del paquete de la aplicación

Valida la aplicación antes de enviarla al Centro de partners para certificación en una máquina local o remota. Solo se pueden validar las compilaciones de versiones del paquete de la aplicación, no las compilaciones de depuración. Para más información sobre el envío de la aplicación al Centro de partners, consulta Envíos de aplicaciones.

Validación local del paquete de la aplicación

  1. En la página final Creación de paquete completada del asistente para Crear paquetes de aplicaciones, deja seleccionada la opción Máquina local y haz clic en Iniciar el Kit de certificación de aplicaciones en Windows. Para obtener más información sobre la prueba de la aplicación con el kit para la certificación de aplicaciones en Windows, vea Kit para la certificación de aplicaciones en Windows.

    El Kit para la certificación de aplicaciones en Windows (WACK) realiza diversas pruebas y devuelve los resultados. Consulta Pruebas del Kit para la certificación de aplicaciones en Windows para obtener información más específica.

    Si tienes un dispositivo remoto de Windows 10 que quieres usar para las pruebas, necesitarás instalar de forma manual el Kit de certificación de aplicaciones en Windows en ese dispositivo. Las secciones siguientes le guiarán por estos pasos. Una vez hecho esto, puede seleccionar Máquina remota y hacer clic en Iniciar Kit para la certificación de aplicaciones en Windows a fin de conectarse al dispositivo remoto y ejecutar las pruebas de validación.

  2. Cuando la herramienta WACK haya terminado y la aplicación haya pasado la certificación, podrás enviar la aplicación al Centro de partners. Asegúrese de cargar el archivo correcto. La ubicación predeterminada del archivo puedes encontrarla en la carpeta raíz de la solución \[AppName]\AppPackages y terminará con la extensión de archivo .appxupload o .msixupload. El nombre tendrá el formato [AppName]_[AppVersion]_x86_x64_arm_bundle.appxupload o [AppName]_[AppVersion]_x86_x64_arm_bundle.msixupload si has optado por un lote de aplicaciones con toda la arquitectura del paquete seleccionada.

Validación del paquete de la aplicación en un dispositivo remoto de Windows 10

  1. Habilita el dispositivo de Windows 10 para el desarrollo siguiendo las instrucciones de Habilitar el dispositivo para el desarrollo.

    Importante

    No puedes validar el paquete de la aplicación en un dispositivo remoto ARM para Windows 10.

  2. Descargue e instale herramientas remotas para Visual Studio. Estas herramientas se usan para ejecutar el Kit de certificación de aplicaciones de Windows de forma remota. Para obtener más información sobre estas herramientas, incluida la ubicación para descargarlas, visita Ejecución de aplicaciones MSIX en una máquina remota.

  3. Descarga el Kit para la certificación de aplicaciones en Windows necesario e instálalo en el dispositivo remoto de Windows 10.

  4. En la página Creación de paquetes completada del asistente, elija el botón de opción Máquina remota y luego el botón de puntos suspensivos situado junto al botón Probar la conexión.

    Nota:

    El botón de opción Máquina remota solo está disponible si seleccionaste al menos una configuración de solución que admita la validación. Para obtener más información sobre cómo probar la aplicación con WACK, vea el Kit para la certificación de aplicaciones en Windows.

  5. Especifique un formulario de dispositivo dentro de la subred o proporcione el nombre del servidor de nombres de dominio (DNS) o la dirección IP de un dispositivo que esté fuera de la subred.

  6. En la lista Modo de autenticación, elija Ninguno si el dispositivo no requiere que se inicie sesión en él con sus credenciales de Windows.

  7. Elija el botón Seleccionar y luego el botón Iniciar Kit para la certificación de aplicaciones en Windows. Si se ejecutan las herramientas remotas en este dispositivo, Visual Studio se conecta al dispositivo y realiza las pruebas de validación. Vea Pruebas del Kit para la certificación de aplicaciones en Windows.

Automatización del envío a Store

A partir de Visual Studio 2019, puedes enviar el archivo .appxupload generado a Microsoft Store directamente desde el IDE, seleccionando la opción Enviar automáticamente a Microsoft Store después de la validación del Kit para la certificación de aplicaciones en Windows al final del asistente para Crear paquetes de aplicaciones. Esta característica aprovecha Azure Active Directory para acceder a la información de la cuenta del Centro de partners necesaria para publicar la aplicación. Para usar esta característica, necesitarás asociar Azure Active Directory con tu cuenta del Centro de partners y recuperar varias credenciales necesarias para los envíos.

Asociación de Azure Active Directory a la cuenta del Centro de partners

Para poder recuperar las credenciales necesarias para el envío automático a Store, primero tienes que seguir estos pasos en el panel del Centro de partners de si aún no lo has hecho.

  1. Asocia la cuenta del Centro de partners a la instancia de Azure Active Directory de la organización. Si su organización ya utiliza Office 365 u otros servicios para la empresa de Microsoft, ya tiene una cuenta de Azure AD. De lo contrario, puedes crear un nuevo inquilino de Azure AD desde el Centro de partners sin ningún coste adicional.

  2. Agrega una aplicación de Azure AD a tu cuenta del Centro de partners. Esta aplicación de Azure AD representa la aplicación o el servicio que usarás para obtener acceso a los envíos de la cuenta del Centro de desarrollo. Tienes que asignar a esta aplicación el rol de Administrador. Si esta aplicación ya existe en el directorio de Azure AD, puede seleccionarla en la página Incorporación de aplicaciones de Azure AD para agregarla a la cuenta de Centro de desarrollo. De lo contrario, puede crear una aplicación de Azure AD en la página Incorporación de aplicaciones de Azure AD.

Recuperación de las credenciales necesarias para los envíos

A continuación, puedes recuperar las credenciales del Centro de partners necesarias para los envíos: el Id. de inquilino de Azure, el Id. de cliente y la Clave de cliente.

  1. Ve al panel del Centro de partners e inicia sesión con tus credenciales de Azure AD.

  2. En el panel del Centro de partners, selecciona el icono de engranaje (cerca de la esquina superior derecha del panel) y selecciona Configuración del desarrollador.

  3. En el menú Configuración del panel izquierdo, haz clic en Usuarios.

  4. Haz clic en el nombre de tu aplicación de Azure AD para ir a la configuración de la aplicación. En esta página, copia los valores de Id. de inquilino e Id. de cliente.

  5. En la sección Claves, haz clic en Agregar nueva clave. En la pantalla siguiente, copia el valor de Clave que se corresponde con el secreto del cliente. No podrás volver a acceder a esta información después de salir de la página, así que asegúrate de no perderla. Para más información, consulta Administrar claves para una aplicación de Azure AD.

Configuración de los envíos automáticos a Store en Visual Studio

Después de completar los pasos anteriores, puedes configurar los envíos automáticos a Store en Visual Studio 2019.

  1. Al final del asistente para Crear paquetes de aplicaciones, selecciona Enviar automáticamente a Microsoft Store después de la validación del Kit para la certificación de aplicaciones en Windows y haz clic en Volver a configurar.

  2. En el cuadro de diálogo Configurar opciones de envío de Microsoft Store, escribe el id. de inquilino de Azure, el id. de cliente y la clave de cliente.

    Configure Microsoft Store Submission settings

    Importante

    Las credenciales se pueden guardar en tu perfil para su uso en envíos futuros.

  3. Haga clic en OK.

El envío se iniciará una vez finalizada la prueba WACK. Puedes realizar un seguimiento del progreso del envío en la ventana Comprobar y publicar.

Verify and Publish progress