Erstellen eines MSIX-Pakets mit MSIX Core aus Quellcode

MSIX Core ermöglicht die MSIX-Bereitstellung, um frühere Versionen von Windows auszuwählen. Sie können das MSIX Core-Installationsprogramm verwenden, um eine Anwendung mit ClickOnce zu erstellen. Dadurch können Ihre Benutzer eine setup.exe herunterladen und die MSIX-App über das MSIX Core-Installationsprogramm installieren.

Hosten Ihrer App auf einem Webserver

Um Ihre App für das Bootstrapping mit dem MSIX Core-Installer vorzubereiten, müssen Sie Ihr App-Paket auf einem Webserver hosten. Dieser Abschnitt enthält Details zum Einrichten einer Web-App in Azure, Internetinformationsdienste (IIS)und Amazon Web Services (AWS).

Azure

Um diese Option verwenden zu können, benötigen Sie ein Azure-Abonnement. Informationen zum Abrufen eines Kontos finden Sie auf der Azure-Kontoseite.

Erstellen einer Azure-Web-App

Wechseln Sie zu den ersten Schritten zur Seite Azure-Portal, und führen Sie die folgenden Schritte aus:

  1. Klicken Sie auf Ressource erstellen.
  2. Klicken Sie auf Web, und wählen Sie Web-App aus.
  3. Erstellen Sie unter Instanzdetails einen eindeutigen App-Namen, und wählen Sie die entsprechenden Einstellungen für Ihre App aus. Beispielsweise müssen Sie zwischen Code oder Docker-Container und dem Laufzeitstapel wählen. Andernfalls belassen Sie alle anderen Standardwerte.
  4. Klicken Sie auf Erstellen, und beenden Sie den Assistenten.

Hosten des App-Pakets und der Webseite

  1. Nachdem Sie die Web-App erstellt haben, wählen Sie die App aus.
  2. Klicken Sie unter Entwicklungstools auf App Service-Editor.
  3. Im Editor gibt es eine Standarddateihostingstart.html. Klicken Sie mit der rechten Maustaste in den leeren Bereich des Datei-Explorers, und wählen Sie Hochladen Dateien aus, um mit dem Hochladen Ihrer App-Pakete zu beginnen.
  4. Klicken Sie erneut mit der rechten Maustaste in den leeren Bereich des Datei-Explorers, und wählen Sie Neue Dateien aus, um eine neue Datei zu erstellen. Geben Sie der Datei den Namen ihrer HTML-Standardseite.

Konfigurieren der Web-App für MIME-Typen von App-Paketen

Fügen Sie der Web-App eine neue Datei mit dem Namen Web.config hinzu. Öffnen Sie die datei Web.config, und fügen Sie der Datei den folgenden XML-Code hinzu.

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

Internetinformationsdienste (IIS)

IIS ist ein optionales Windows Feature. So installieren Sie IIS:

  1. Klicken Sie auf Starten, und suchen Sie nach Windows Features aktivieren oder deaktivieren.
  2. Wählen Sie Internetinformationsdienste aus.
  3. Stellen Sie außerdem sicher, dass Sie ASP.NET 4.5 oder höher installieren. Erweitern Sie im Dialogfeld Windows Features Internetinformationsdienste -> World Wide Web -> Services-Anwendungsentwicklungsfunktionen, und wählen Sie eine Version von ASP.NET aus, die größer oder gleich ASP.NET 4.5 ist.
  4. Klicken Sie auf OK, um mit der Installation zu beginnen.

Visual Studio 2017 (oder eine höhere Version) und Webentwicklungstools sind erforderlich. Wenn Sie bereits Visual Studio 2017 oder eine höhere Version installiert haben, stellen Sie sicher, dass die Workloads ASP.NET und Webentwicklung installiert sind. Installieren Sie andernfalls Visual Studio von hier.

Erstellen einer Web-App

Starten Sie Visual Studio als Administrator, und erstellen Sie ein neues Visual C#-Webanwendungsprojekt mit einer leeren Projektvorlage.

Konfigurieren von IIS mit Ihrer Web-App

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Stammprojekt, und wählen Sie Eigenschaften aus.
  2. Wählen Sie unter Eigenschaften die Registerkarte Web aus.
  3. Wählen Sie im Abschnitt Server im Dropdownmenü die Option Lokale IIS aus, und klicken Sie auf Virtuelles Verzeichnis erstellen.

Hinzufügen des App-Pakets zur Webanwendung

Fügen Sie das App-Paket hinzu, das Sie an die Webanwendung verteilen möchten:

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten.
  2. Wählen Sie Neuen Ordner hinzufügen aus, und nennen Sie -> die Ordnerpakete.
  3. Klicken Sie zum Hinzufügen von App-Paketen zum Ordner mit der rechten Maustaste auf den Ordner packages, und wählen Sie -> Vorhandenes Element hinzufügen aus. Navigieren Sie zum Speicherort des App-Pakets.

Erstellen einer Webseite

Erstellen Sie gemäß Ihren Anforderungen eine HTML-Seite oder eine andere Web-App. Fügen Sie den Link Ihrer neuen setup.exe hinzu.

Konfigurieren der Web-App für MIME-Typen von App-Paketen

Öffnen Sie die Web.config-Datei im Projektmappen-Explorer, und fügen Sie im -Element den folgenden XML-Code hinzu.

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

Um diese Option verwenden zu können, benötigen Sie eine AWS-Mitgliedschaft. Weitere Informationen finden Sie unter AWS-Kontodetails.

Erstellen eines Amazon S3-Buckets und Hochladen Ihrer MSIX-Pakete und Webseiten

Amazon Simple Storage Service (S3) ist ein AWS-Angebot zum Sammeln, Speichern und Analysieren von Daten. S3-Buckets sind eine praktische Möglichkeit, Windows 10 App-Pakete und Webseiten für die Verteilung zu hosten.

  1. Melden Sie sich bei AWS an. Suchen Sie unter Dienste nach S3.
  2. Wählen Sie Bucket erstellen aus, und geben Sie einen Bucketnamen für Ihre Website ein. Befolgen Sie die Anweisungen im Dialogfeld, um Eigenschaften und Berechtigungen festzulegen. Um sicherzustellen, dass Ihre Windows 10-App von Ihrer Website verteilt werden kann, aktivieren Sie die Berechtigungen Lesen und Schreiben für Ihren Bucket, und wählen Sie Öffentlichen Lesezugriff auf diesen Bucket gewähren aus. Klicken Sie auf Bucket erstellen, um diesen Schritt abzuschließen.
  3. Wenn Sie fertig sind, laden Sie Ihre MSIX-Pakete und Webseiten in den Bucket S3 hoch.

Konfigurieren der Web-App für MIME-Typen von App-Paketen

Verwenden sie eine Webdienstoberfläche wie den S3-Browser, um neue HTTP-Standardheader hinzuzufügen.

  1. Navigieren Sie zu Extras, und wählen Sie Http-Standardheader aus.
  2. Klicken Sie im Dialogfeld Standard-HTTP-Header auf Hinzufügen.
  3. Geben Sie im Dialogfeld Neue HTTP-Standardheader hinzufügen den Bucketnamen, Dateinamen, Headernamen und Headerwert an, und klicken Sie dann auf Neuen Header hinzufügen.
    • Bucketname: msix-packages
    • Dateiname:*.msix
    • Headername: Content-Type
    • Headerwert: application/msix

Hinweis

AWS verfügt über einige strenge Richtlinien, die Sie befolgen müssen. Bucketnamen müssen beispielsweise eindeutig sein. Wenn Sie das obige Beispiel verwenden, müssen Sie daher den Bucketnamen ändern.

Verwenden des MSIX Core-Installationsprogramms zum Erstellen der ClickOnce Anwendung

Suchen Sie ihre Anwendung ClickOnce setup.exe. Dies bezieht sich auf den Klon des Git-Projekts, erstellt und veröffentlicht es über Visual Studio Projekt.

Führen Sie den URL-Befehl aus, um neue setup.exe

Stellen Sie sicher, dass Sie die Anweisungen zum Klonen, Erstellen und Veröffentlichen der MSIX Core-Lösung in Visual Studio befolgt haben. Das GitHub Projekt finden Sie hier.

Navigieren Sie zu dem Verzeichnis, in dem Sie die datei setup.exe veröffentlicht haben, und führen Sie dann den folgenden Befehl aus:

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

Beispiel:

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

Signieren der Anwendung

Da im vorherigen Schritt ein neues setup.exe erstellt wurde, müssen Sie die App erneut signieren, um sicherzustellen, dass Sie ein vertrauenswürdiger Herausgeber der Anwendung sind, und um die Integrität der Anwendung herzustellen. Sie können SignTool verwenden und Ihr Zertifikat bereitstellen.

Verteilen der Anwendung an Ihre Benutzer

Sie können nun auf die neue setup.exe mit einem Link oder einer Downloadschaltfläche auf ihrer Website verweisen. MSIX Core richtet sich an Benutzer mit Windows 10, Version 1703 und früher. Der App-Installer ist der ideale Installationsvorgang für MSIX-Pakete auf Windows 1709 oder höher. App-Installer optimiert den Speicherplatz auf der Consumerseite und kann Apps direkt von HTTP-Speicherorten installieren. MSIX Core erkennt, ob ein Consumer Windows Version 1709 oder höher hat, und leitet sie an App-Installer um.

Auf Microsoft Edge können Sie die getHostEnvironmentValue()-Methode aufrufen, und das Feld os-build im Rückgabewert gibt die Betriebssystemversion des Benutzers an. Von dort aus können Sie den Installationsprozess auffordern, MSIX Core (für Windows 10, Version 1703 und früher) oder App-Installer (für Windows 10, Version 1709 und höher) zu verwenden.

Benutzererfahrung

Benutzer laden das Programm einfach von setup.exe Webseite des Entwicklers herunter und führen es aus.

  • Wenn das MSIX Core-Installationsprogramm beim Ausführen von setup.exe noch nicht installiert ist, wird dem Benutzer die aufforderung ClickOnce angezeigt, und er klickt auf Installieren, um das MSIX Core-Installationsprogramm zu installieren. Das Installationsprogramm wird automatisch gestartet und zeigt den Installationsbildschirm für das MSIX-Paket an, das in der Abfragezeichenfolge des Entwicklers angegeben ist, damit die Benutzer die App installieren können.
  • Wenn das MSIX Core-Installationsprogramm bereits installiert ist, wenn der Benutzer setup.exe ausgibt, wird das MSIX Core-Installationsprogramm automatisch gestartet und zeigt den Installationsbildschirm für das MSIX-Paket an, das in der Abfragezeichenfolge angegeben ist, damit Benutzer die App installieren können.