Condividi tramite


Creare un pacchetto MSIX con MSIX Core dal codice sorgente

MSIX Core porta la distribuzione MSIX per selezionare le versioni precedenti di Windows. È possibile usare il programma di installazione MSIX Core per creare un'applicazione usando ClickOnce. In questo modo gli utenti potranno scaricare un file setup.exe e installare l'app MSIX tramite il programma di installazione di MSIX Core.

Ospitare l'app in un server Web

Per preparare l'app per il bootstrap con il programma di installazione msiX Core, è necessario ospitare il pacchetto dell'app in un server Web. Questa sezione fornisce informazioni dettagliate su come configurare un'app Web in Azure, Internet Information Services (IIS) e Amazon Web Services (AWS).

Azure

Per usare questa opzione, è necessario avere una sottoscrizione di Azure. Per ottenerlo, vedere la pagina dell'account Azure.

Creare un'app Web di Azure

Per iniziare, passare alla pagina portale di Azure e seguire questa procedura:

  1. Fare clic su Crea una risorsa.
  2. Fare clic su Web e selezionare App Web.
  3. In Dettagli istanza creare un nome di app univoco e selezionare le impostazioni appropriate per l'app. Ad esempio, sarà necessario scegliere tra codice o contenitore Docker e stack di runtime. In caso contrario, lasciare tutto il resto predefinito.
  4. Fare clic su Crea e completare la procedura guidata.

Ospitare il pacchetto dell'app e la pagina Web

  1. Dopo aver creato l'app Web, selezionare l'app.
  2. In Strumenti di sviluppo fare clic su Editor del servizio app.
  3. Nell'editor è presente un file hostingstart.html predefinito. Fare clic con il pulsante destro del mouse nello spazio vuoto di Esplora file e scegliere Carica file per iniziare a caricare i pacchetti dell'app.
  4. Fare di nuovo clic con il pulsante destro del mouse nello spazio vuoto del pannello Esplora file e selezionare Nuovo file per creare un nuovo file. Assegnare al file il nome desiderato per la pagina HTML predefinita.

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

Aggiungere un nuovo file denominato Web.config all'app Web. Aprire il file Web.config e aggiungere il codice XML seguente al 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>

Internet Information Services (IIS)

IIS è una funzionalità facoltativa di Windows. Per installare IIS:

  1. Fare clic su Start e cercare Attiva o disattiva le funzionalità di Windows.
  2. Selezionare Internet Information Services.
  3. Assicurarsi anche di installare ASP.NET 4.5 o versione successiva. Nella finestra di dialogo Funzionalità di Windows espandere Internet Information Services ->World Wide Web Services ->Application Development Features e selezionare una versione di ASP.NET maggiore o uguale a ASP.NET 4.5.
  4. Fare clic su OK per avviare l'installazione.

Sono necessari Visual Studio 2017 (o versione successiva) e Strumenti di sviluppo Web. Se Visual Studio 2017 o versione successiva è già installato, assicurarsi di avere installato i carichi di lavoro di sviluppo web e ASP.NET. In caso contrario, installare Visual Studio da qui.

Creare un'app Web

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

Configurare IIS con l'app Web

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto radice e scegliere Proprietà.
  2. Nelle proprietà selezionare la scheda Web .
  3. Nella sezione Server scegliere IIS locale dal menu a discesa e fare clic su Crea directory virtuale.

Aggiungere il pacchetto dell'app all'applicazione Web

Aggiungere il pacchetto dell'app da distribuire all'applicazione Web:

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto.
  2. Selezionare Aggiungi ->Nuova cartella e denominare i pacchetti di cartelle.
  3. Per aggiungere pacchetti di app alla cartella, fare clic con il pulsante destro del mouse sulla cartella pacchetti e selezionare Aggiungi ->Elemento esistente. Passare al percorso del pacchetto dell'app.

Creare una pagina Web

Creare una pagina HTML o qualsiasi altra app Web in base alle esigenze. Aggiungere il collegamento del nuovo setup.exe.

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

Aprire il file Web.config da Esplora soluzioni e aggiungere il codice XML seguente all'interno dell'elemento <di configurazione> .

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

Per usare questa opzione, è necessario avere un'appartenenza AWS. Per altre informazioni, vedere Dettagli dell'account AWS.

Creare un bucket Amazon S3 e caricare i pacchetti MSIX e le pagine Web

Amazon Simple Archiviazione Service (S3) è un'offerta AWS per la raccolta, l'archiviazione e l'analisi dei dati. I bucket S3 sono un modo pratico per ospitare pacchetti di app e pagine Web di Windows 10 per la distribuzione.

  1. Accedere a AWS. In Servizi trovare S3.
  2. Selezionare Crea bucket e immettere un nome bucket per il sito Web. Seguire le istruzioni della finestra di dialogo per impostare le proprietà e le autorizzazioni. Per assicurarsi che l'app di Windows 10 possa essere distribuita dal sito Web, abilitare le autorizzazioni lettura e scrittura per il bucket e selezionare Concedi l'accesso in lettura pubblico a questo bucket. Fare clic su Crea bucket per completare questo passaggio.
  3. Al termine, caricare i pacchetti MSIX e le pagine Web nel bucket S3.

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

Uso di un'interfaccia del servizio Web come il browser S3 per aggiungere una nuova intestazione HTTP predefinita.

  1. Passare a Strumenti e selezionare Intestazioni HTTP predefinite.
  2. Nella finestra di dialogo Intestazioni HTTP predefinite fare clic su Aggiungi.
  3. Nella finestra di dialogo Aggiungi nuove intestazioni HTTP predefinite specificare il nome del bucket, il nome file, il nome dell'intestazione e il valore dell'intestazione, quindi fare clic su Aggiungi nuova intestazione.
    • Nome bucket: msix-packages
    • Nome file: *.msix
    • Nome intestazione: Content-Type
    • Valore intestazione: application/msix

Nota

 AWS ha alcune linee guida rigorose da seguire. Ad esempio, i nomi di bucket devono essere univoci e pertanto, se si usa l'esempio precedente, sarà necessario modificare il nome del bucket.

Usare il programma di installazione MSIX Core per compilare l'applicazione ClickOnce

Trovare l'applicazione ClickOnce setup.exe. Questo si riferisce al clone del progetto Git, compilarlo e pubblicarlo tramite il progetto di Visual Studio.

Eseguire il comando URL per creare un nuovo file setup.exe

Assicurarsi di aver seguito le istruzioni per clonare, compilare e pubblicare la soluzione MSIX Core in Visual Studio. Per riferimento, il progetto GitHub è disponibile qui

Passare alla directory in cui è stato pubblicato il file setup.exe e quindi eseguire questo comando:

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

Ad esempio:

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

Firmare l'applicazione

Poiché il passaggio precedente ha creato un nuovo file setup.exe, sarà necessario firmare nuovamente l'app per verificare di essere un autore attendibile dell'applicazione e di stabilire l'integrità dell'applicazione. È possibile usare SignTool e fornire il certificato.

Distribuire l'applicazione agli utenti

È ora possibile puntare al nuovo setup.exe con un collegamento o un pulsante di download sul proprio sito Web. MSIX Core è destinato agli utenti in Windows 10, versione 1703 e precedenti. Il programma di installazione app è il processo di installazione ideale per i pacchetti MSIX in Windows 1709 o versione successiva. Il programma di installazione app ottimizza lo spazio su disco sul lato consumer e può installare direttamente le app da percorsi HTTP. MSIX Core rileverà se un consumer si trova in Windows 1709 o versione successiva e li reindirizzerà al programma di installazione app.

In Microsoft Edge è possibile chiamare il metodo getHostEnvironmentValue() e il campo os-build nel valore restituito specificherà la versione del sistema operativo dell'utente. Da qui puoi quindi richiedere al processo di installazione di usare MSIX Core (per Windows 10, versione 1703 e precedenti) o Programma di installazione app (per Windows 10 versione 1709 e successive).

Esperienza utente

Gli utenti scaricano ed eseguono semplicemente il file setup.exe dalla pagina Web dello sviluppatore.

  • Se il programma di installazione MSIX Core non è ancora installato quando l'utente esegue setup.exe, l'utente visualizza il prompt ClickOnce e fa clic su Installa per installare il programma di installazione di MSIX Core. Il programma di installazione avvia automaticamente e mostra la schermata di installazione per il pacchetto MSIX specificato nella stringa di query dello sviluppatore in modo che gli utenti possano installare l'app.
  • Se il programma di installazione MSIX Core è già installato quando l'utente esegue setup.exe, il programma di installazione di MSIX Core viene avviato automaticamente e mostra la schermata di installazione per il pacchetto MSIX specificato nella stringa di query per consentire agli utenti di installare l'app.