Distribuire un'app di Windows 10 da un server IIS

Questa esercitazione illustra come configurare un server IIS, verificare che l'app Web possa ospitare pacchetti dell'app e richiamare e usare Programma di installazione app efficace.

L Programma di installazione app app consente agli sviluppatori e ai professionisti IT di distribuire le app Windows 10 ospitandole rete per la distribuzione di contenuti (rete CDN). Ciò è utile per le aziende che non vogliono o non devono pubblicare le proprie app nel Microsoft Store, ma vogliono comunque sfruttare i vantaggi della piattaforma Windows 10 per la creazione di pacchetti e la distribuzione.

Eseguire la configurazione

Per completare correttamente questa esercitazione, sono necessari gli elementi seguenti:

  1. Visual Studio 2017
  2. Strumenti di sviluppo Web e IIS
  3. Windows 10 pacchetto dell'app: il pacchetto dell'app che verrà distribuito

Facoltativo: avvio Project in GitHub. Ciò è utile se non sono disponibili pacchetti dell'app da usare, ma si vuole comunque imparare a usare questa funzionalità.

Passaggio 1: Installare IIS e ASP.NET

Internet Information Services è una Windows che può essere installata tramite il menu Start. In menu Start cercare Turn Windows features on or off (Attiva o disattiva le funzionalità).

Trovare e selezionare Internet Information Services installare IIS.

Nota

Non è necessario selezionare tutte le caselle di controllo in Internet Information Services. Sono sufficienti solo quelli selezionati Internet Information Services controllo.

È anche necessario installare ASP.NET 4.5 o versione successiva. Per installarlo, individuare Internet Information Services -> World Wide Web Services -> Application Development Features. Selezionare una versione di ASP.NET maggiore o uguale a ASP.NET 4.5.

Screenshot dell'installazione ASP.NET funzionalità

Passaggio 2: Installare Visual Studio 2017 e gli strumenti di sviluppo Web

Installare Visual Studio 2017 se non è già stato installato. Se è già stato Visual Studio 2017, assicurarsi che siano installati i carichi di lavoro seguenti. Se i carichi di lavoro non sono presenti nell'installazione, seguire la procedura Programma di installazione di Visual Studio (disponibile nel menu Start).

Durante l'installazione, ASP.NET lo sviluppo Web e qualsiasi altro carico di lavoro a cui si è interessati.

Al termine dell'installazione, avviare Visual Studio e creare un nuovo progetto (File -> New Project).

Passaggio 3: Creare un'app Web

Avviare Visual Studio 2017 come amministratore e creare un nuovo progetto applicazione Web Visual C# con un modello di progetto vuoto.

Screenshot della creazione di un nuovo progetto Web

Passaggio 4: Configurare IIS con l'app Web

Nell'Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto radice e scegliere Proprietà.

Nelle proprietà dell'app Web selezionare la scheda Web. Nella sezione Server scegliere IIS locale dal menu a discesa e fare clic su Crea directory virtuale.

Screenshot della scheda Web nelle proprietà del progetto

Passaggio 5: Aggiungere un pacchetto dell'app a un'applicazione Web

Aggiungere il pacchetto dell'app che si desidera distribuire nell'applicazione Web. È possibile usare il pacchetto dell'app che fa parte dei pacchetti del progetto iniziale forniti GitHub se non è disponibile un pacchetto dell'app. Anche il certificato (MySampleApp.cer) con cui è stato firmato il pacchetto è con l'esempio GitHub. È necessario che il certificato sia installato nel dispositivo prima di installare l'app (passaggio 9).

Nell'applicazione Web del progetto iniziale è stata aggiunta all'app Web una nuova cartella denominata packages che contiene i pacchetti dell'app da distribuire. Per creare la cartella in Visual Studio, fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni, selezionare Aggiungi nuova cartella e -> deno come pacchetti. Per aggiungere pacchetti dell'app alla cartella, fare clic con il pulsante destro del mouse sulla cartella dei pacchetti, scegliere Aggiungi elemento esistente e passare -> al percorso del pacchetto dell'app.

Screenshot dell'aggiunta di un pacchetto

Passaggio 6: Creare una pagina Web

Questa app Web di esempio usa codice HTML semplice. È possibile creare l'app Web in base alle esigenze.

Fare clic con il pulsante destro del mouse sul progetto radice di Esplora soluzioni, selezionare Aggiungi nuovo elemento e aggiungere una nuova pagina -> HTML dalla sezione Web.

Dopo aver creato la pagina HTML, fare clic con il pulsante destro del mouse sulla pagina HTML nel Esplora soluzioni e scegliere Imposta come pagina iniziale.

Fare doppio clic sul file HTML per aprirlo nella finestra dell'editor di codice. In questa esercitazione verranno usati solo gli elementi in necessari nella pagina Web per richiamare correttamente l'app Programma di installazione app per installare un Windows 10 app.

Includere il codice HTML seguente nella pagina Web. La chiave per richiamare correttamente Programma di installazione app è usare lo schema personalizzato che Programma di installazione app registra con il sistema operativo: ms-appinstaller:?source= . Per altri dettagli, vedere l'esempio di codice seguente.

Nota

Assicurarsi che il percorso URL specificato dopo lo schema personalizzato corrisponda all'URL Project nella scheda Web della soluzione Visual Studio.

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

Passaggio 7: Configurare l'app Web per i tipi MIME del pacchetto dell'app

Aprire il Web.config file da Esplora soluzioni e aggiungere le righe seguenti all'interno dell'elemento <configuration> .

<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

Nella tecnologia Web Microsoft più recente .NET Core. La compilazione di siti Web con ASP .NET Core ignora web.config mimeMap di contenuto statico. Di conseguenza, sarà necessario configurare correttamente il sito Web .NET Core che ospiterà l'installazione MSIX. È necessario modificare il metodo Configure nel file Startup.cs. Per altre informazioni, vedere la documentazione di .NET Core.

Passaggio 8: Aggiungere l'esenzione di loopback per Programma di installazione app

A causa dell'isolamento della rete, Windows 10 app come Programma di installazione app sono limitate all'uso di indirizzi di loopback IP come http://localhost/ . Quando si usa il server IIS locale, Programma di installazione app deve essere aggiunto all'elenco di esenzione dal loopback.

A tale scopo, aprire il prompt dei comandi come amministratore e immettere quanto segue:

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

Per verificare che l'app sia stata aggiunta all'elenco di esenzione, usare il comando seguente per visualizzare le app nell'elenco di esenzione dal loopback:

CheckNetIsolation.exe LoopbackExempt -s

Dovrebbe essere presente microsoft.desktopappinstaller_8wekyb3d8bbwe nell'elenco.

Al termine della convalida locale dell'installazione dell'app tramite Programma di installazione app, è possibile rimuovere l'esenzione dal loopback aggiunta in questo passaggio:

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

Passaggio 9: Eseguire l'app Web

Compilare ed eseguire l'applicazione Web facendo clic sul pulsante Esegui sulla barra multifunzione di Visual Studio, come illustrato nell'immagine seguente:

Screenshot dell'esecuzione dell'app Web in Visual Studio

Nel browser verrà aperta una pagina Web:

Screenshot dell'installazione dell'app dalla pagina Web

Fare clic sul collegamento nella pagina Web per avviare l'app Programma di installazione app e installare il pacchetto dell Windows 10 app.

Risoluzione dei problemi

Privilegi non sufficienti

Se l'esecuzione dell'app Web in Visual Studio visualizza un errore simile a "Non si dispone di privilegi sufficienti per accedere ai siti Web IIS nel computer", sarà necessario eseguire Visual Studio come amministratore. Chiudere l'istanza corrente Visual Studio e riaprirla come amministratore.

Impostare la pagina iniziale

Se l'esecuzione dell'app Web causa il caricamento del browser con un errore HTTP 403.14 - Accesso negato, significa che l'app Web non ha una pagina iniziale definita. Per informazioni su come definire una pagina iniziale, vedere il passaggio 6 di questa esercitazione.