Extensión de empaquetado MSIXMSIX Packaging Extension

La extensión Empaquetado MSIX es una extensión de Azure DevOps que ayuda a compilar, empaquetar y firmar aplicaciones de Windows mediante el formato de paquete MSIX.The MSIX Packaging Extension is an Azure DevOps extension which helps build, package and sign Windows apps using the MSIX package format.

Los flujos de trabajo de CI/CD se han convertido en una parte integral del proceso de desarrollo con el fin de mejorar la eficacia y la calidad, al tiempo que se reduce el coste y el tiempo de comercialización.CI/CD workflows have become an integral part of the development process to improve efficiency and quality while reducing cost and time to market. Si bien la solución de CI/CD de Microsoft Azure DevOps Pipelines se ha adoptado ampliamente y es popular, el proceso actual de integración de los flujos de trabajo de compilación e implementación de las aplicaciones que deben empaquetarse como MSIX en Azure Pipelines mediante el uso de archivos YAML resulta tedioso, en especial para aquellos que no son expertos en Azure Pipelines ni en MSIX.Microsoft's CI/CD solution Azure DevOps Pipelines is widely adopted and popular, but the current process of integrating build and deployment workflows for apps that need to be packaged as MSIX into Azure Pipelines by using YAML files is tedious, specifically for people that are not Azure Pipelines or MSIX experts. Esta extensión de Azure DevOps ofrece una solución sencilla, intuitiva y basada en la interfaz de usuario que facilita la automatización del proceso de compilación e implementación de las aplicaciones que se empaquetan como MSIX, así como de las aplicaciones con flujos de trabajo de CI/CD existentes que se pasan a MSIX, sin interrumpir sus mecanismos de compilación e implementación.This Azure DevOps extension offers a straightforward, intuitive and UI based solution making it easier to automate build and deployment process for apps being packaged as MSIX, and for apps with existing CI/CD workflows to move to MSIX without disrupting their build and deployment mechanisms.

La extensión Empaquetado MSIX incluye las siguientes tareas que se pueden utilizar para crear una compilación personalizada de acuerdo con los requisitos:The MSIX Packaging Extension contains the following tasks that you can use to custom build your pipeline according to your requirements:

  1. Compilación y empaquetado de MSIX: permite compilar y empaquetar aplicaciones de Windows mediante el uso del formato MSIX.MSIX build and package - to build and package Windows apps using the MSIX package format
  2. Firma de paquetes MSIX: permite firmar los paquetes MSIX con un certificado de confianza.MSIX package signing - to sign MSIX packages using a trusted certificate
  3. Archivo del instalador de aplicación para MSIX: permite crear o actualizar un archivo .appinstaller para las aplicaciones MSIX.App installer file for MSIX - to create or update a .appinstaller file for MSIX apps
  4. Creación de paquete para conexión de aplicaciones MSIX: permite crear un paquete de VHDX para la conexión de aplicaciones MSIX.Create package for MSIX app attach - to create a VHDX package for MSIX app attach

Instalación de la extensiónInstall the extension

Examine Azure DevOps Marketplace y busque el nombre de extensión Empaquetado MSIX.Browse the Azure DevOps Marketplace and look for the extension name MSIX Packaging Extension.

Examinar el marketplace

Crear una canalizaciónCreate a Pipeline

Cree una nueva canalización para el proyecto de Azure DevOps.Create a new pipeline for your Azure DevOps project.

seleccionar canalización

Nueva canalización

Seleccione la opción Use the classic editor to create a pipeline without YAML (Usar el editor clásico para crear una canalización sin YAML).Select the option to Use the classic editor to create a pipeline without YAML.

Utilizar el editor clásico

Seleccione el sistema de control de versiones y proporcione el repositorio y los detalles de la rama predeterminada.Select your version control system and provide your repository and default branch details.

Configurar el archivo .vcs de origen

Cuando se le pregunte si quiere Seleccionar una plantilla, haga clic en la opción para *empezar con un trabajo vacío _.When asked to Select a template, click *start with an Empty job _.

Empezar con un trabajo vacío

Cambie el valor del campo de selección de especificación de agente a windows-2019, ya que la extensión MSIX solo se ejecuta en un agente de Windows.Change your Agent Specification* selection to *windows-2019 since the MSIX extension runs only on a Windows agent.

Ventanas de especificación de agente

Debería mostrarse el valor _Agent job 1* (Trabajo del agente 1) de forma predeterminada en la canalización.You should see _Agent job 1* by default in your pipeline. Haga clic en el símbolo más para agregar una tarea al trabajo del agente 1.Click on the plus symbol to Add a task to Agent job 1.

Busque MSIX _ en la barra de búsqueda _Agregar tareas; deberían mostrarse las tareas antes mencionadas en la extensión Empaquetado MSIX.Search for MSIX _ in the _Add tasks search bar and you should see the tasks mentioned before in the MSIX Packaging Extension. Puede personalizar la compilación de la canalización al agregar las tareas que necesita de acuerdo con sus requisitos.You can custom build your pipeline by adding the tasks you need according to your requirements. Pero se mostrará cómo configurar las cuatro tareas que se mencionan en esta página.But we will demonstrate how to configure all four tasks on this page.

Adición de una tarea

Compilación y empaquetado de MSIXMSIX build and package

Tarea de compilación y empaquetado

  • Nombre para mostrar: personalice el nombre de la tarea.Display name - Customize your task name
  • Ruta de acceso de salida: especifique la ruta de acceso de salida del paquete MSIX que se creará mediante esta tarea.Output Path - Specify the output path for the MSIX package that will be created by this task. En la ruta de acceso del ejemplo anterior se utiliza la variable predefinida Build.ArtifactStagingDirectory. Esta variable es la ruta de acceso local en el agente para almacenar artefactos y se utiliza aquí para almacenar los archivos de salida de la tarea que pueden publicarse más adelante mediante una tarea de publicación de artefactos.The path in the example above uses predefined variable Build.ArtifactStagingDirectory which is the local path on the agent to store artifacts, and is used here to store task output files which can later be published using a publish artifacts task.
  • Build Solution with MSBuild (Compilar solución con MSBuild): seleccione esta opción para compilar la solución con MSBuild para la plataforma de destino especificada.Build Solution with MSBuild - Select this option to build your solution with msbuild for the specified target platform. Deje la casilla desactivada si ya tiene archivos binarios que solamente deben empaquetarse.Leave the box unchecked if you already have binaries that just need to be packaged. Si deja la casilla desactivada, se le pedirá que proporcione la ruta de acceso a los archivos binarios.If you leave the box unchecked, you will be asked to provide the path to your binaries.
  • Project to Build (Proyecto para compilar): indique la ruta de acceso al archivo de su proyecto o solución que es necesario compilar.Project to Build - Provide the path to your project or solution file that needs to be built.
  • Clean before Building (Limpiar antes de compilar): active esta casilla si quiere que la tarea ejecute una limpieza de compilación antes de compilar.Clean before Building - Select this checkbox if you want the task to run a clean build prior to the build.
  • Generate MSIX Bundle (Generar conjunto de MSIX): active esta casilla para generar un conjunto de MSIX en lugar de un paquete.Generate MSIX Bundle - Select this checkbox to generate an MSIX bundle instead of a package. Asegúrese de asignar un nombre al archivo de salida en la opción Ruta de acceso de salida con una extensión .msixbundle en lugar de .msix.Make sure to name your output file in the Output Path option with a .msixbundle extension instead of .msix.
  • Configuración: elija entre Depurar y Publicar configuraciones de compilación.Configuration - Choose between Debug and Release build configurations.
  • Plataforma: especifique la plataforma de compilación de destino, por ejemplo: x64, x86, Any CPU (Cualquier CPU).Platform - Specify the target build platform, for example, x64, x86, Any CPU.
  • Update App Version in Manifest (Actualizar versión de la aplicación en el manifiesto): active esta casilla para cambiar la versión especificada de la aplicación en el archivo .appxmanifest de la aplicación.Update App Version in Manifest - Select this checkbox to change the app version from the one specified in the app's .appxmanifest file. Esto no sobrescribirá el archivo .appxmanifest, pero cambiará la versión de la aplicación en el paquete MSIX de salida que se ha generado.This will not overwrite the .appxmanifest file, but change the app version in the generated output MSIX package. Si se selecciona esta opción, se le pedirá que proporcione la ruta de acceso al archivo de manifiesto y el número de versión de la aplicación que se va a establecer para la aplicación.If this option is selected, you will be asked to provide the path to the manifest file, and the app version number to set for the app.
  • Application Package Distribution Mode (Modo de distribución de paquete de la aplicación): en el menú desplegable, seleccione el modo para generar un paquete de la aplicación de Store o un paquete de la aplicación que no sea de Store.Application Package Distribution Mode - Select the mode from the dropdown menu to generate a Store app package or non-Store app package.
  • Advanced Options for MSBuild (Opciones avanzadas de MSBuild): personalice su instancia de MSBuild con las opciones avanzadas.Advanced Options for MSBuild - Customize your MSBuild by using advanced options.

Firma de paquetes MSIXMSIX package signing

tarea de firma

  • Nombre para mostrar: personalice el nombre de la tarea.Display name - Customize your task name
  • Package to sign (Paquete para firmar): la tarea de firma de paquetes de MSIX utiliza SignTool para firmar todos los archivos que coinciden con esta ruta de acceso, independientemente de si son paquetes o conjuntos de MSIX.Package to sign - The MSIX package signing task uses SignTool to sign all files matching this path, regardless of whether they are MSIX packages or bundles.
  • Archivo de certificado: en la lista desplegable, seleccione el certificado de confianza para firmar la aplicación, o bien cargue un archivo de certificado a través del icono de engranaje.Certificate file - Select your trusted certificate to sign the app from the dropdown, or upload a certificate file by using the gear icon.
  • Variable de contraseña: el nombre de la variable que almacena la contraseña que se utiliza para tener acceso al archivo de certificado para la firma.Password Variable - The name of the variable which stores the password used to access the certificate file for signing. Tenga en cuenta que esta NO es la contraseña en sí, sino el nombre de la variable, que se puede definir en Biblioteca.Note that this is NOT the password itself, but rather the variable name, which can be set under Library.
  • Time Stamp Server (Servidor de marca de tiempo): una dirección URL que especifica la dirección de un servidor de marca de tiempo.Time Stamp Server - A URL that specifies the address of a time stamping server. Se trata de un parámetro opcional.This is an optional parameter.

Archivo del instalador de aplicación para MSIXApp installer file for MSIX

appInstaller

  • Nombre para mostrar: personalice el nombre de la tarea.Display name - Customize your task name
  • Paquete: la ruta de acceso al paquete o conjunto para el que quiere crear un instalador de aplicación.Package - This is the path to the package or bundle you want to create an App Installer for.
  • Ruta de acceso del archivo de salida: la ruta de acceso al archivo del instalador de aplicación que se va a escribir.Output File Path - This is the path of the App Installer file to be written.
  • Method to Create App Installer File (Método para crear el archivo de instalador de aplicación): elija si quiere crear un nuevo archivo de instalador de aplicación o actualizar uno existente.Method to Create App Installer File - Choose whether to create a new App Installer file or update an existing one. Si decide actualizar uno existente, se le pedirá que indique la ruta de acceso al archivo del instalador de aplicación existente.If you choose to update an existing one, you will be asked to provide the path to the existing App Installer file.
  • Version for App Installer file (Versión del archivo del instalador de aplicación): el número de versión que se proporcionará.Version for App Installer file - The version number which will be given. Debe tener el formato (principal).(secundaria).(compilación).(revisión).Must take the form (major).(minor).(build).(revision).
  • URI: el identificador URI web correspondiente al archivo de instalador de aplicación al que se redirige.URI - Web URI to the redirected App Installer file.
  • Main Package/Bundle URI (URI de paquete o conjunto principal): el identificador URI de la ubicación del paquete o conjunto de la aplicación.Main Package/Bundle URI - URI to the app package/bundle location.
  • Update On Launch (Actualizar al iniciarse): seleccione esta casilla para establecer que la aplicación busque actualizaciones cuando se inicie.Update On Launch - Select this to set the app to check for updates when launched. Si se selecciona esta casilla, se le pedirá que proporcione detalles, como el valor de Hours Between Update Checks (Horas entre búsquedas de actualizaciones), o si quiere activar las casillas Show UI to User when Updating (Mostrar interfaz de usuario al usuario al actualizar) y Update to Block App Activation (Actualizar para bloquear la activación de la aplicación).If this checkbox is selected, you will be asked to provide details like Hours Between Update Checks, whether to Show UI to User when Updating, and whether you want the Update to Block App Activation.

Crear paquete para conexión de aplicaciones MSIXCreate package for MSIX app attach

conexión de aplicaciones

  • Nombre para mostrar: personalice el nombre de la tarea.Display name - Customize your task name.
  • Ruta de acceso al paquete: la ruta de acceso al paquete o conjunto de MSIX.Package Path - This is the path to the MSIX package/bundle.
  • VHDX Output Path (Ruta de acceso de salida de VHDX): la ruta de acceso al archivo VHDX que se creará mediante la tarea.VHDX Output Path - This is the path of the VHDX file that will be created by the task.
  • VHDX size (Tamaño de VHDX): el tamaño máximo en MB del disco VHDX.VHDX size - The maximum size in MBs of the VHDX.

Después de configurar todas las tareas, puede utilizar una tarea de publicación de artefactos de compilación para colocar todos los artefactos de la ubicación temporal en los artefactos de Azure Pipelines o en un recurso compartido de archivos de su elección.After configuring all the tasks, you can use a Publish build artifacts task to drop all the artifacts from the temp location to Azure Pipelines artifacts or a file share of your choice.

Formas de proporcionar comentariosWays to provide Feedback

Nos encantaría recibir sus comentarios sobre la extensión Empaquetado MSIX.We would love to hear your feedback on the MSIX Packaging Extension. Puede ponerse en contacto con nosotros a través de los siguientes canales:Reach out to us via the following channels: