Creación de un paquete MSIX con MSIX Core a partir de código fuenteCreate an MSIX package with MSIX Core from source code

MSIX Core aporta la implementación de MSIX para seleccionar versiones anteriores de Windows.MSIX Core brings MSIX deployment to select previous versions of Windows. Puede aprovechar el instalador de MSIX Core para crear una aplicación mediante ClickOnce.You can leverage the MSIX Core installer to create an application using ClickOnce. Esto permitirá que los usuarios descarguen un setup.exe e instalen la aplicación MSIX a través del instalador de MSIX Core.This will allow your users to download a setup.exe and install the MSIX app through the MSIX Core installer.

Hospedar la aplicación en un servidor WebHost your app on a web server

Para preparar la aplicación para el arranque con el instalador de MSIX Core, deberá hospedar el paquete de la aplicación en un servidor Web.To get your app ready for bootstrapping with the MSIX Core installer, you’ll need to host your app package on a web server. En esta sección se proporcionan detalles sobre cómo configurar una aplicación web en Azure, Internet Information Services (IIS)y Amazon Web Services (AWS).This section provides details about how to set up a web app on Azure, Internet Information Services (IIS), and Amazon Web Services (AWS).

AzureAzure

Para usar esta opción, debe tener una suscripción de Azure.To use this option you must have an Azure subscription. Para obtener una, consulte la Páginade la cuenta de Azure.To obtain one, see the Azure account page.

Creación de una aplicación web de AzureCreate an Azure Web App

Para empezar, vaya a la página Azure portal y siga estos pasos:To get started go to the Azure portal page and follow these steps:

  1. Haga clic en Crear un recurso.Click Create a Resource.
  2. Haga clic en Web y seleccione aplicación web.Click Web and select Web App.
  3. En detallesde la instancia, cree un nombre de aplicación único y seleccione la configuración adecuada para la aplicación.Under Instance Details, create a unique app name and select the appropriate settings for your app. Por ejemplo, tendrá que elegir entre el código o el contenedor de Docker y la pila en tiempo de ejecución.For example, you will need to choose between Code or Docker Container and the Runtime Stack. De lo contrario, deje todo lo demás como predeterminado.Otherwise, leave everything else default.
  4. Haga clic en crear y finalice el asistente.Click Create and finish the wizard.

Hospedar el paquete de la aplicación y la página webHost the app package and the web page

  1. Después de crear la aplicación Web, seleccione la aplicación.After you create the web app, select the app.
  2. En herramientas de desarrollo, haga clic en Editor de App Service.Under Development Tools, click App Service Editor.
  3. En el editor, hay un archivo hostingstart.html predeterminado.In the editor, there is a default hostingstart.html file. Haga clic con el botón derecho en el espacio vacío del explorador de archivos y seleccione cargar archivos para empezar a cargar los paquetes de la aplicación.Right-click in the empty space of File Explorer and select Upload Files to begin uploading your app packages.
  4. Vuelva a hacer clic con el botón secundario en el espacio vacío del panel Explorador de archivos y seleccione nuevos archivos para crear un nuevo archivo.Right-click in the empty space of the File Explorer panel again and select New Files to create a new file. Asigne al archivo el nombre que desee que sea la página HTML predeterminada.Name the file what you want your default HTML page to be.

Configurar la aplicación web para tipos MIME de paquete de aplicacionesConfigure the web app for app package MIME types

Agregue un nuevo archivo denominado Web.config a la aplicación Web.Add a new file named Web.config to the web app. Abra el archivo Web.config y agregue el siguiente código XML al archivo.Open the Web.config file and add the following XML to the file.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <!--This is to allow the web server to serve resources with the appropriate file extensions-->
    <staticContent>
      <mimeMap fileExtension=".appx" mimeType="application/appx" />
      <mimeMap fileExtension=".msix" mimeType="application/msix" />
    </staticContent>
  </system.webServer>
</configuration>

Servicios de Internet Information Server (IIS)Internet Information Services (IIS)

IIS es una característica opcional de Windows.IIS is an optional Windows feature. Para instalar IIS:To install IIS:

  1. Haga clic en Inicio y busque activar o desactivar las características de Windows.Click Start and search for Turn Windows features on or off.
  2. Seleccione Internet Information Services.Select Internet Information Services.
  3. Asegúrese también de instalar ASP.NET 4,5 o superior.Also make sure you install ASP.NET 4.5 or greater. En el cuadro de diálogo características de Windows , expanda Internet Information Services -> World Wide Web Servicios -> características de desarrollo de aplicacionesy seleccione una versión de ASP.net que sea mayor o igual que ASP.net 4,5.In the Windows Features dialog, expand Internet Information Services -> World Wide Web Services -> Application Development Features, and select a version of ASP.NET that is greater than or equal to ASP.NET 4.5.
  4. Haga clic en Aceptar para iniciar la instalación.Click OK to begin the installation.

Se requiere Visual Studio 2017 (o una versión posterior) y las herramientas de desarrollo web.Visual Studio 2017 (or a later version) and Web Development Tools are required. Si ya tiene instalado Visual Studio 2017 o una versión posterior, asegúrese de que tiene instaladas las cargas de trabajo de desarrollo de ASP.NET y Web.If you already have Visual Studio 2017 or a later version installed, make sure you have the ASP.NET and Web development workloads installed. En caso contrario, instale Visual Studio desde aquí.Otherwise, install Visual Studio from here.

Compilación de una aplicación webBuild a web app

Inicie Visual Studio como administrador y cree un nuevo proyecto de aplicación Web de Visual C# con una plantilla de proyecto vacía.Start Visual Studio as an administrator and create a new Visual C# Web Application project with an empty project template.

Configuración de IIS con la aplicación WebConfigure IIS with your Web app

  1. En Explorador de soluciones, haga clic con el botón derecho en el proyecto raíz y seleccione propiedades.In Solution Explorer, right-click on the root project and select Properties.
  2. En propiedades, seleccione la pestaña Web .In properties, select the Web tab.
  3. En la sección servidores , elija IIS local en el menú desplegable y haga clic en Crear directorio virtual.In the Servers section, choose Local IIS from the dropdown menu and click Create Virtual Directory.

Agregar el paquete de la aplicación a la aplicación WebAdd the app package to the web application

Agregue el paquete de la aplicación que desea distribuir a la aplicación web:Add the app package that you want to distribute to the web application:

  1. En Explorador de soluciones, haga clic con el botón secundario en el nodo del proyecto.In Solution Explorer, right-click the project node.
  2. Seleccione Agregar -> nueva carpeta y asigne a la carpeta el nombre paquetes.Select Add -> New Folder and name the folder packages.
  3. Para agregar paquetes de aplicaciones a la carpeta, haga clic con el botón derecho en la carpeta paquetes y seleccione Agregar -> elemento existente.To add app packages to the folder, right-click the packages folder and select Add -> Existing Item. Vaya a la ubicación del paquete de aplicaciones.Browse to the app package location.

Crear una aplicación webCreate a web page

Cree una página HTML o cualquier otra aplicación web según sea necesario.Create an HTML page or any other web app as required per your needs. Agregue el vínculo del nuevo setup.exe.Add the link of your new setup.exe.

Configurar la aplicación web para tipos MIME de paquete de aplicacionesConfigure the web app for app package MIME types

Abra el archivo de Web.config desde el explorador de soluciones y agregue el siguiente código XML dentro del elemento.Open the Web.config file from the solution explorer and add the following XML within the element.

<system.webServer>
  <!--This is to allow the web server to serve resources with the appropriate file extensions-->
  <staticContent>
    <mimeMap fileExtension=".appx" mimeType="application/appx" />
    <mimeMap fileExtension=".msix" mimeType="application/msix" />
  </staticContent>
</system.webServer>

Amazon Web Services (AWS)Amazon Web Services (AWS)

Para usar esta opción, debe tener una pertenencia a AWS.To use this option you must have an AWS membership. Para obtener más información, consulte detalles de la cuenta de AWS.For more information, see AWS account details.

Creación de un cubo de Amazon S3 y carga de los paquetes de MSIX y las páginas webCreate an Amazon S3 bucket and upload your MSIX packages and web pages

Amazon simple Storage Service (S3) es una oferta de AWS para recopilar, almacenar y analizar datos.Amazon Simple Storage Service (S3) is an AWS offering for collecting, storing and analyzing data. Los depósitos de S3 son una manera cómoda de hospedar paquetes de aplicaciones de Windows 10 y páginas web para su distribución.S3 buckets are a convenient way to host Windows 10 app packages and web pages for distribution.

  1. Inicie sesión en AWS.Log in to AWS. En servicios , busque S3.Under Services find S3.
  2. Seleccione crear cubo y escriba un nombre de cubo para el sitio Web.Select Create bucket and enter a Bucket name for your website. Siga las indicaciones del cuadro de diálogo para establecer propiedades y permisos.Follow the dialog prompts for setting properties and permissions. Para asegurarse de que la aplicación de Windows 10 se puede distribuir desde su sitio web, habilite los permisos de lectura y escritura para el cubo y seleccione conceder acceso de lectura público a este cubo.To ensure that your Windows 10 app can be distributed from your website, enable Read and Write permissions for your bucket and select Grant public read access to this bucket. Haga clic en crear cubo para finalizar este paso.Click Create bucket to finish this step.
  3. Cuando haya terminado, cargue los paquetes de MSIX y las páginas web en el cubo S3.When you are finished, upload your MSIX packages and web pages to the S3 bucket.

Configurar la aplicación web para tipos MIME de paquete de aplicacionesConfigure the web app for app package MIME types

Usar una interfaz de servicio web como S3 Browser   para agregar nuevos encabezados HTTP predeterminados.Using a web service interface like S3 browser to add a new Default HTTP Headers.

  1. Vaya a herramientas y seleccione encabezados HTTP predeterminados.Navigate to Tools and select Default HTTP Headers.
  2. En el cuadro de diálogo encabezados HTTP predeterminados , haga clic en Agregar.In the Default HTTP Headers dialog, click Add.
  3. En el cuadro de diálogo agregar nuevos encabezados HTTP predeterminados , especifique el nombre del depósito, el nombre del archivo, el nombre del encabezado y el valor del encabezado y, a continuación, haga clic en Agregar nuevo encabezado.In the Add New Default HTTP Headers dialog, specify the bucket name, file name, header name, and header value, and then click Add new header.
    • Nombre del depósito: msix-packagesBucket name: msix-packages
    • Nombre de archivo: *. msixFile name: *.msix
    • Nombre del encabezado: Content-TypeHeader name: Content-Type
    • Valor de encabezado: Application/msixHeader value: application/msix

Nota

 AWS tiene algunas directrices estrictas que tendrá que seguir. AWS have some strict guidelines you will have to follow. Por ejemplo, es necesario que los nombres de cubo sean únicos y, por lo tanto, si usa el ejemplo anterior, deberá cambiar el nombre del depósito.For example, Bucket names are required to be unique and therefore if you are using the example above, you will need to change the Bucket name.

Usar el instalador de MSIX Core para compilar la aplicación ClickOnceUse the MSIX Core installer to build the ClickOnce application

Busque la aplicación de aplicación ClickOnce setup.exe.Find your application application ClickOnce setup.exe.

Comando ejecutar dirección URL para crear una nueva setup.exeRun URL command to create new setup.exe

Asegúrese de que ha seguido las instrucciones para clonar, compilar y publicar la solución MSIX Core en Visual Studio.Make sure you have followed the instructions to clone, build and publish the MSIX Core solution in Visual Studio.

Navegue hasta el directorio donde descargó el archivo de setup.exe y, a continuación, ejecute este comando:Navigate to the directory where you downloaded the setup.exe file and then run this command:

setup-exe - url=<location of your msix in the webservice>

Firmar la aplicaciónSign the application

Dado que el paso anterior creó un nuevo setup.exe, deberá volver a firmar la aplicación para comprobar que es un editor de confianza de la aplicación y establecer la integridad de la aplicación.Because the previous step created a new setup.exe, you will need to sign the app again to verify that you're a trusted publisher of the application and to establish the integrity of the application. Puede usar SignTool y proporcionar su certificado.You can use the SignTool and provide your certificate.

Distribuir la aplicación a los usuariosDistribute the application to your users

Ahora puede apuntar a la nueva setup.exe con un vínculo o botón Descargar en su sitio Web.You can now point to the new setup.exe with a link or download button on their website. MSIX Core está dirigido a los usuarios de Windows 10, versión 1703 y versiones anteriores.MSIX Core is targeted towards users on Windows 10, version 1703 and earlier. El instalador de la aplicación es el proceso de instalación ideal para los paquetes de MSIX en Windows 1709 o una versión posterior.The App Installer is the ideal installation process for MSIX packages on Windows 1709 or a later version. El instalador de la aplicación optimiza el espacio en disco en el lado del consumidor y puede instalar aplicaciones directamente desde ubicaciones HTTP.App Installer optimizes for disk space on the consumer side and can directly install apps from HTTP locations. MSIX Core detectará si un consumidor está en Windows 1709 o una versión posterior y los redirigirá al instalador de la aplicación.MSIX Core will detect if a consumer is on Windows 1709 or a later version and redirect them to App Installer.

En Microsoft Edge, puede llamar al método getHostEnvironmentValue () y el campo os-Build en el valor devuelto especificará la versión del sistema operativo del usuario.On Microsoft Edge, you can call the getHostEnvironmentValue() method and the os-build field in the return value will specify the OS version of the user. A partir de ahí, puede pedir al proceso de instalación que use MSIX Core (para Windows 10, versión 1703 y versiones anteriores) o el instalador de aplicaciones (para Windows 10, versión 1709 y posteriores).From there, you can then prompt the installation process to use MSIX Core (for Windows 10, version 1703 and earlier) or App Installer (for Windows 10, version 1709 and later).

Experiencia del usuarioUser experience

Los usuarios solo tienen que descargar y ejecutar el setup.exe desde la página web del desarrollador.Users simply download and run the setup.exe from the developer’s webpage.

  • Si aún no se ha instalado el instalador de MSIX Core cuando el usuario ejecuta setup.exe, el usuario ve el mensaje de ClickOnce y hace clic en instalar para instalar el instalador de MSIX Core.If the MSIX Core installer is not yet installed when the user runs setup.exe, the user sees the ClickOnce prompt and they click Install to install the MSIX Core installer. El instalador se inicia automáticamente y muestra la pantalla de instalación para el paquete MSIX especificado en la cadena de consulta del desarrollador para que los usuarios puedan instalar la aplicación.The installer automatically launches and shows the install screen for the MSIX package specified in the developer’s query string so the users can install the app.
  • Si el instalador de MSIX Core ya está instalado cuando el usuario ejecuta setup.exe, el instalador de MSIX Core se inicia automáticamente y muestra la pantalla de instalación para el paquete MSIX especificado en la cadena de consulta para que los usuarios instalen la aplicación.If the MSIX Core installer is already installed when the user runs setup.exe, the MSIX Core installer automatically launches and shows the install screen for the MSIX package specified in the query string for users to install the app.