Distribución de una aplicación de Windows 10 desde un servidor IIS

En este tutorial se muestra cómo configurar un servidor IIS, comprobar que la aplicación web puede hospedar paquetes de aplicaciones e invocar y usar Instalador de aplicación de forma eficaz.

La Instalador de aplicación aplicación permite a los desarrolladores y profesionales de TI distribuir Windows 10 aplicaciones mediante su hospedaje en su propia Content Delivery Network (CDN). Esto es útil para las empresas que no desean o necesitan publicar sus aplicaciones en el Microsoft Store, pero que todavía quieren aprovechar las ventajas de la plataforma de empaquetado e implementación Windows 10 de paquetes.

Configurar

Para realizar correctamente este tutorial, necesitará lo siguiente:

  1. Visual Studio 2017
  2. Herramientas de desarrollo web e IIS
  3. Windows 10 de aplicación: el paquete de aplicación que distribuirá

Opcional: inicio Project en GitHub. Esto resulta útil si no tiene paquetes de aplicación con los que trabajar, pero le gustaría aprender a usar esta característica.

Paso 1: Instalar IIS y ASP.NET

Internet Information Services es una Windows que se puede instalar a través del menú Inicio. En menú Inicio busque Activar o desactivar Windows características de .

Busque y seleccione Internet Information Services instalar IIS.

Nota:

No es necesario activar todas las casillas en Internet Information Services. Solo los seleccionados al comprobar Internet Information Services son suficientes.

También deberá instalar la versión ASP.NET 4.5 o posterior. Para instalarlo, busque Internet Information Services - World Wide Web Services - Características de desarrollo de > aplicaciones. Seleccione una versión de ASP.NET que sea mayor o igual que ASP.NET 4.5.

Captura de pantalla de la instalación ASP.NET característica

Paso 2: Instalación de Visual Studio 2017 y herramientas de desarrollo web

Instale Visual Studio 2017 si aún no lo ha instalado. Si ya tiene una Visual Studio 2017, asegúrese de que están instaladas las cargas de trabajo siguientes. Si las cargas de trabajo no están presentes en la instalación, siga con el Instalador de Visual Studio (que se encuentra en la menú Inicio).

Durante la instalación, seleccione ASP.NET desarrollo web y cualquier otra carga de trabajo que le interese.

Una vez completada la instalación, inicie Visual Studio y cree un nuevo proyecto (Archivo - Nuevo Project).

Paso 3: Compilación de una aplicación web

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

Captura de pantalla de la creación de un nuevo proyecto web

Paso 4: Configurar IIS con nuestra aplicación web

En la Explorador de soluciones, haga clic con el botón derecho en el proyecto raíz y seleccione Propiedades.

En las propiedades de la aplicación web, seleccione la pestaña Web. En la sección Servidores, elija IIS local en el menú desplegable y haga clic en Crear directorio virtual.

Captura de pantalla de la pestaña web en las propiedades del proyecto

Paso 5: Agregar un paquete de aplicación a una aplicación web

Agregue el paquete de aplicación que va a distribuir a la aplicación web. Puede usar el paquete de aplicación que forma parte de los paquetes de proyecto de inicio proporcionados en GitHub si no tiene un paquete de aplicación disponible. El certificado (MySampleApp.cer) con el que se firmó el paquete también está con el ejemplo en GitHub. Debe tener el certificado instalado en el dispositivo antes de instalar la aplicación (paso 9).

En la aplicación web del proyecto de inicio, se agregó una nueva carpeta a la aplicación web denominada paquetes que contiene los paquetes de aplicación que se van a distribuir. Para crear la carpeta en Visual Studio, haga clic con el botón derecho en el nodo del proyecto en Explorador de soluciones, seleccione Agregar - Nueva carpeta y asígréle el nombre packages. 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... y vaya a la ubicación del paquete de la aplicación.

Captura de pantalla de la adición de un paquete

Paso 6: Crear una página web

Esta aplicación web de ejemplo usa HTML simple. Puede compilar la aplicación web según sea necesario según sus necesidades.

Haga clic con el botón derecho en el proyecto raíz del Explorador de soluciones, seleccione Agregar - Nuevo elemento y agregue una nueva página HTML desde la sección Web.

Una vez creada la página HTML, haga clic con el botón derecho en la página HTML del Explorador de soluciones seleccione Establecer como página de inicio.

Haga doble clic en el archivo HTML para abrirlo en la ventana del editor de código. En este tutorial, solo se usarán los elementos de requeridos en la página web para invocar la aplicación Instalador de aplicación correctamente para instalar una Windows 10 aplicación.

Incluya el siguiente código HTML en la página web. La clave para invocar correctamente Instalador de aplicación es usar el esquema personalizado que Instalador de aplicación registra con el sistema operativo: ms-appinstaller:?source= . Consulte el ejemplo de código siguiente para obtener más detalles.

Nota:

Asegúrese de que la ruta de acceso de la dirección URL especificada después del esquema personalizado coincide con la dirección URL Project en la pestaña web de la solución de VS.

<html>
<head>
    <meta charset="utf-8" />
    <title> Install Page </title>
</head>
<body>
    <a href="ms-appinstaller:?source=http://localhost/SampleWebApp/packages/MySampleApp.msixbundle"> Install My Sample App</a>
</body>
</html>

Paso 7: Configuración de la aplicación web para tipos MIME de paquetes de aplicaciones

Abra el Web.config desde el Explorador de soluciones y agregue las siguientes líneas dentro del elemento .

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

Nota:

En la tecnología web de Microsoft .NET Core más reciente. La compilación del sitio web mediante ASP de .NET Core omite web.config contenido estático mimeMap. Como resultado, necesitará una configuración adecuada del sitio web de .NET Core que hospedará la instalación de MSIX que necesita para modificar el método Configure en el archivo Startup.cs. Visite la documentación de .NET Core para obtener más información.

Paso 8: Agregar exención de bucleback para Instalador de aplicación

Debido al aislamiento de red, Windows 10 aplicaciones como Instalador de aplicación están restringidas para usar direcciones de bucle de retorno IP comohttp://localhost/. Cuando se usa el servidor IIS local, Instalador de aplicación debe agregarse a la lista de exentos de bucles bucles.

Para ello, abra el símbolo del sistema como administrador y escriba lo siguiente:

CheckNetIsolation.exe LoopbackExempt -a -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

Para comprobar que la aplicación se ha agregado a la lista de exentos, use el siguiente comando para mostrar las aplicaciones en la lista de exentos de bucles bucles:

CheckNetIsolation.exe LoopbackExempt -s

Debería encontrar en microsoft.desktopappinstaller_8wekyb3d8bbwe la lista.

Una vez completada la validación local de la instalación de la aplicación a través de Instalador de aplicación, puede quitar la exención de bucleback que agregó en este paso mediante:

CheckNetIsolation.exe LoopbackExempt -d -n=microsoft.desktopappinstaller_8wekyb3d8bbwe

Paso 9: Ejecución de la aplicación web

Compile y ejecute la aplicación web haciendo clic en el botón Ejecutar de la cinta de opciones de VS, como se muestra en la imagen siguiente:

Captura de pantalla de la ejecución de una aplicación web en Visual Studio

Se abrirá una página web en el explorador:

Captura de pantalla de la instalación de la aplicación desde la página web

Haga clic en el vínculo de la página web para iniciar la aplicación Instalador de aplicación e instalar el paquete Windows 10 aplicación.

Solución de problemas

Privilegios insuficientes

Si al ejecutar la aplicación web en Visual Studio se muestra un error como "No tiene privilegios suficientes para acceder a sitios web de IIS en el equipo", deberá ejecutar Visual Studio como administrador. Cierre la instancia actual de Visual Studio vuelva a abrirla como administrador.

Establecer página de inicio

Si la ejecución de la aplicación web hace que el explorador se cargue con un error HTTP 403.14 - Prohibido, se debe a que la aplicación web no tiene una página de inicio definida. Consulte el paso 6 de este tutorial para obtener información sobre cómo definir una página de inicio.