Creación de un paquete MSIX con MSIX Core a partir de código fuente

MSIX Core ofrece la implementación de MSIX para seleccionar versiones anteriores de Windows. Puede aprovechar el instalador de MSIX Core para crear una aplicación mediante ClickOnce. Esto permitirá a los usuarios descargar un setup.exe instalar la aplicación MSIX a través del instalador de MSIX Core.

Hospedar la aplicación en un servidor web

Para preparar la aplicación para el arranque con el instalador de MSIX Core, deberá hospedar el paquete de aplicación en un servidor web. 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).

Azure

Para usar esta opción, debe tener una suscripción de Azure. Para obtener uno, consulte la página de la cuenta de Azure.

Creación de una aplicación web de Azure

Para empezar, vaya a la página Azure Portal y siga estos pasos:

  1. Haga clic en Crear un recurso.
  2. Haga clic en Web y seleccione Aplicación web.
  3. En Detalles de instancia,cree un nombre de aplicación único y seleccione la configuración adecuada para la aplicación. Por ejemplo, tendrá que elegir entre Code o Docker Container y runtime Stack. De lo contrario, deje el valor predeterminado de todo lo demás.
  4. Haga clic en Crear y finalice el asistente.

Hospedar el paquete de aplicación y la página web

  1. Después de crear la aplicación web, seleccione la aplicación.
  2. En Herramientas de desarrollo, haga clic en Editor de App Service.
  3. En el editor, hay un archivo hostingstart.htmlpredeterminado. Haga clic con el botón derecho en el espacio vacío de Explorador de archivos seleccione Upload Files para empezar a cargar los paquetes de la aplicación.
  4. Haga clic con el botón derecho en el espacio vacío del panel Explorador de archivos nuevo y seleccione Nuevos archivos para crear un nuevo archivo. Asigne al archivo el nombre que quiera que sea la página HTML predeterminada.

Configuración de la aplicación web para tipos MIME de paquete de aplicación

Agregue un nuevo archivo denominado Web.config a la aplicación web. Abra el Web.config archivo y agregue el siguiente código XML al archivo.

<?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>

Internet Information Services (IIS)

IIS es una característica Windows opcional. Para instalar IIS:

  1. Haga clic en Inicio y busque Activar o desactivar Windows características.
  2. Seleccione Internet Information Services.
  3. Asegúrese también de instalar ASP.NET 4.5 o superior. En el cuadro de diálogo Windows Características, expanda Internet Information Services - World Wide Web Services - Características de desarrollo de aplicaciones y seleccione una versión de ASP.NET que sea mayor o igual que ASP.NET 4.5.
  4. Haga clic en Aceptar para comenzar la instalación.

Visual Studio 2017 (o una versión posterior) y las herramientas de desarrollo web son necesarias. Si ya tiene instalada Visual Studio 2017 o una versión posterior, asegúrese de que tiene instaladas las cargas de trabajo ASP.NET desarrollo web y de desarrollo web. De lo contrario, instale Visual Studio desde aquí.

Compilación de una aplicación web

Inicie Visual Studio administrador y cree un nuevo proyecto de aplicación web de Visual C# con una plantilla de proyecto vacía.

Configuración de IIS con la aplicación web

  1. En Explorador de soluciones, haga clic con el botón derecho en el proyecto raíz y seleccione Propiedades.
  2. En propiedades, seleccione la pestaña Web.
  3. En la sección Servidores, elija IIS local en el menú desplegable y haga clic en Crear directorio virtual.

Agregar el paquete de aplicación a la aplicación web

Agregue el paquete de aplicación que desea distribuir a la aplicación web:

  1. En Explorador de soluciones, haga clic con el botón derecho en el nodo del proyecto.
  2. Seleccione Agregar - Nueva carpeta y asigne un nombre a los paquetes de carpeta.
  3. Para agregar paquetes de aplicación a la carpeta, haga clic con el botón derecho en la carpeta packages y seleccione Agregar - Elemento existente. Vaya a la ubicación del paquete de la aplicación.

Crear una aplicación web

Cree una página HTML o cualquier otra aplicación web según sus necesidades. Agregue el vínculo de la nueva setup.exe.

Configuración de la aplicación web para tipos MIME de paquete de aplicación

Abra el Web.config desde el Explorador de soluciones y agregue el siguiente XML dentro del elemento .

<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)

Para usar esta opción, debe tener una pertenencia a AWS. Para más información, consulte Detalles de la cuenta de AWS.

Creación de un cubo de Amazon S3 y carga de paquetes MSIX y páginas web

Amazon Simple Storage Service (S3) es una oferta de AWS para recopilar, almacenar y analizar datos. Los cubos S3 son una manera cómoda de hospedar paquetes Windows 10 aplicaciones y páginas web para su distribución.

  1. Inicie sesión en AWS. En Servicios,busque S3.
  2. Seleccione Crear cubo y escriba un nombre de cubo para el sitio web. Siga las indicaciones del cuadro de diálogo para establecer propiedades y permisos. Para asegurarse de que Windows 10 aplicación se puede distribuir desde el sitio web, habilite los permisos de lectura y escritura para el cubo y seleccione Conceder acceso de lectura público a este cubo. Haga clic en Crear cubo para finalizar este paso.
  3. Cuando haya terminado, cargue los paquetes MSIX y las páginas web en el cubo S3.

Configuración de la aplicación web para tipos MIME de paquete de aplicación

Usar una interfaz de servicio web como el explorador S3 para agregar un nuevo encabezado HTTP predeterminado.

  1. Vaya a Herramientas y seleccione Encabezados HTTP predeterminados.
  2. En el cuadro de diálogo Encabezados HTTP predeterminados, haga clic en Agregar.
  3. En el cuadro de diálogo Agregar nuevos encabezados HTTP predeterminados, especifique el nombre del cubo, el nombre de archivo, el nombre de encabezado y el valor del encabezado y, a continuación, haga clic en Agregar nuevo encabezado.
    • Nombre del cubo:msix-packages
    • Nombre de archivo:*.msix
    • Nombre de encabezado:Content-Type
    • Valor de encabezado:application/msix

Nota:

 AWS tiene algunas directrices estrictas que tendrá que seguir. Por ejemplo, los nombres de cubo deben ser únicos y, por tanto, si usa el ejemplo anterior, deberá cambiar el nombre del cubo.

Uso del instalador de MSIX Core para compilar la ClickOnce aplicación

Busque la aplicación de aplicación ClickOnce setup.exe. Esto hace referencia al clon del proyecto de Git, compilarlo y publicarlo a través Visual Studio proyecto.

Ejecute el comando URL para crear nuevas setup.exe

Asegúrese de que ha seguido las instrucciones para clonar, compilar y publicar la solución MSIX Core en Visual Studio. Como referencia, el GitHub proyecto se puede encontrar aquí

Vaya al directorio donde publicó el archivo setup.exe y, a continuación, ejecute este comando:

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

Por ejemplo

.\setup.exe -url="https://appinstallerdemo.azurewebsites.net/MSIXCore/msixmgrWrapper.application?https://appinstallerdemo.azurewebsites.net/MSIXCore/notepadplus.msix#"

Firmar la aplicación

Dado que el paso anterior creó un nuevo setup.exe, deberá volver a firmar la aplicación para comprobar que es un publicador de confianza de la aplicación y para establecer la integridad de la aplicación. Puede usar SignTool y proporcionar el certificado.

Distribuir la aplicación a los usuarios

Ahora puede apuntar a la nueva setup.exe un vínculo o botón de descarga en su sitio web. MSIX Core está dirigido a los usuarios de Windows 10, versión 1703 y anteriores. El Instalador de aplicación es el proceso de instalación ideal para paquetes MSIX en Windows 1709 o una versión posterior. Instalador de aplicación optimiza el espacio en disco en el lado del consumidor y puede instalar aplicaciones directamente desde ubicaciones HTTP. MSIX Core detectará si un consumidor está en Windows 1709 o una versión posterior y los redirigirá a Instalador de aplicación.

En Microsoft Edge, puede llamar al método getHostEnvironmentValue() y el campo os-build del valor devuelto especificará la versión del sistema operativo del usuario. Desde allí, puede solicitar al proceso de instalación que use MSIX Core (para Windows 10, versión 1703 y versiones anteriores) o Instalador de aplicación (para Windows 10, versión 1709 y posteriores).

Experiencia del usuario

Los usuarios simplemente descargan y ejecutan setup.exe desde la página web del desarrollador.

  • Si el instalador de MSIX Core aún no está instalado 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. El instalador se inicia automáticamente y muestra la pantalla de instalación del paquete MSIX especificado en la cadena de consulta del desarrollador para que los usuarios puedan instalar la aplicación.
  • 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 del paquete MSIX especificado en la cadena de consulta para que los usuarios instalen la aplicación.