Erstellen eines MSIX-Pakets mit MSIX Core aus Quellcode

MSIX Core bringt MSIX-Bereitstellung dazu, frühere Versionen von Windows auszuwählen. Sie können das MSIX Core-Installationsprogramm nutzen, um eine Anwendung mit ClickOnce zu erstellen. Auf diese Weise können Ihre Benutzer eine setup.exe herunterladen und die MSIX-App über das MSIX Core-Installationsprogramm installieren.

Hosten Sie Ihre App auf einem Webserver

Um Ihre App für das Bootstrapping mit dem MSIX Core-Installationsprogramm 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

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

Erstellen einer Azure-Web-App

Um zu beginnen, wechseln Sie zur Azure-Portal Seite 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. Sie müssen z. B. zwischen Code oder Docker-Container und dem Runtime-Stapel wählen. Belassen Sie alles andere bei den Standardeinstellungen.
  4. Klicken Sie auf Erstellen, um den Assistenten zu beenden.

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 standardmäßige hostingstart.html-Datei. Klicken Sie mit der rechten Maustaste auf den leeren Bereich von Explorer, und wählen Sie Dateien hochladen aus, um mit dem Hochladen Ihrer App-Pakete zu beginnen.
  4. Klicken Sie erneut mit der rechten Maustaste im leeren Bereich des Datei-Explorers und wählen Sie Neue Dateien aus, um eine neue Datei zu erstellen. Geben Sie der Datei einen Namen, der die Standard-HTML-Seite sein soll.

Konfigurieren Sie die Web-App für MIME-Typen des App-Pakets

Fügen Sie der Web-App eine neue Datei mit dem Namen Web.config hinzu. Öffnen Sie die Web.config-Datei, und fügen Sie der Datei 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 Start 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-FeaturesInternetinformationsdienste –>World Wide Web Dienste –>Anwendungsentwickler Features 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 die Installation zu starten.

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

Erstellen einer Web-App

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

Konfigurieren Sie IIS mit Ihrer Web-App

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Wurzel-Projekt und wählen Sie Eigenschaften aus.
  2. Wählen Sie in den Einstellungen die Registerkarte Web aus.
  3. Wählen Sie im Abschnitt Server im Dropdownmenü Lokales IIS aus und klicken Sie auf Virtuelles Verzeichnis erstellen.

Fügen Sie der Webanwendung das App-Paket hinzu

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

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten.
  2. Wählen Sie Hinzufügen – >Neuer Ordner aus, und benennen Sie die Ordnerpakete.
  3. Wenn Sie dem Ordner App-Pakete hinzufügen möchten, klicken Sie mit der rechten Maustaste auf den Ordner Pakete und wählen Sie Hinzufügen –>Vorhandener Artikel aus. Navigieren Sie zum Speicherort des App-Pakets.

Eine Webseite erstellen

Erstellen Sie je nach Ihren Anforderungen eine HTML-Seite oder eine andere Web-App. Fügen Sie den Link Ihres neuen setup.exe hinzu.

Konfigurieren Sie die Web-App für MIME-Typen des App-Pakets

Öffnen Sie die Datei Web.config aus dem Projektmappen-Explorer und fügen Sie den folgenden XML-Code innerhalb des <Konfigurationselements> 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 zu verwenden, müssen Sie über eine AWS-Mitgliedschaft verfügen. Ausführlichere Informationen finden Sie unter AWS-Kontoinformationen.

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 bequeme Möglichkeit zum Hosten von Windows 10-App-Paketen und Webseiten für die Verteilung.

  1. Anmelden bei AWS. Unter Dienste finden Sie S3.
  2. Wählen Sie Bucket erstellen aus und geben Sie einen Bucketnamen für Ihre Website ein. Folgen Sie den Dialogfeldaufforderungen zum Einstellen von Eigenschaften und Berechtigungen. Um sicherzustellen, dass Ihre Windows 10-App über Ihre 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. Klicken Sie auf Bucket erstellen, um diesen Schritt abzuschließen.
  3. Wenn Sie fertig sind, laden Sie Ihre MSIX-Pakete und Webseiten in den S3-Bucket hoch.

Konfigurieren Sie die Web-App für MIME-Typen des App-Pakets

Verwenden einer Webdienstschnittstelle wie S3-Browser zum Hinzufügen neuer Standard-HTTP-Header.

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

Hinweis

 AWS hat einige strenge Richtlinien, die Sie befolgen müssen. Zum Beispiel, müssen Bucket-Namen einzigartig sein. Deshalb müssten Sie im obigen Beispiel,den Bucket-Namen ändern.

Verwenden des MSIX Core-Installers zum Erstellen der ClickOnce-Anwendung

Finden Sie Ihre Anwendung ClickOnce setup.exe. Dies bezieht sich auf den Klon des Git-Projekts. Erstellen und veröffentlichen Sie über das Visual Studio-Projekt.

Führen Sie den URL-Befehl aus, um ein neues setup.exe zu erstellen

Stellen Sie sicher, dass Sie die Anweisungen zum Klonen, Erstellen und Veröffentlichen der MSIX Core-Lösung in Visual Studio befolgt haben. Referenz: 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#"

Die Anwendung signieren

Da der vorherige Schritt ein neues setup.exe erstellt hat, müssen Sie die App erneut signieren, um zu überprüfen, ob Sie ein vertrauenswürdiger Herausgeber der Anwendung sind und die Integrität der Anwendung einrichten. Sie können das SignTool verwenden und Ihr Zertifikat bereitstellen.

Verteilen der Anwendung an Ihre Benutzer

Sie können jetzt auf ihrer Website auf die neue setup.exe, mittels eines Links oder Download-Buttons, verweisen. MSIX Core richtet sich an Benutzer von Windows 10, Version 1703 und früher. Der App-Installer ist der ideale Installationsprozess für MSIX-Pakete unter Windows 1709 oder einer höheren Version. Der App-Installer optimiert den Speicherplatz auf der Verbraucherseite und kann Apps direkt von HTTP-Speicherorten installieren. MSIX Core erkennt, ob ein Heimanwender Windows 1709 oder eine höhere Version nutzt und leitet ihn an den App-Installer um.

In Microsoft Edge können Sie die getHostEnvironmentValue()-Methode aufrufen. Das Os-Build-Feld im Rückgabewert gibt die Betriebssystemversion des Benutzers an. Von dort aus können Sie den Installationsprozess zur Verwendung von MSIX Core (für Windows 10, Version 1703 und früher) oder App Installer (für Windows 10, Version 1709 und höher) anfordern.

Benutzererfahrung

Benutzer laden einfach die setup.exe von der Webseite des Developers herunter und führen sie aus.

  • Wenn das MSIX Core-Installationsprogramm noch nicht installiert ist, wenn der Benutzer setup.exe ausführt, wird dem Benutzer die ClickOnce-Eingabeaufforderung angezeigt und er klickt auf Installieren, um das MSIX Core-Installer zu installieren. Das Installationsprogramm startet automatisch und zeigt den Installationsbildschirm für das MSIX-Paket an, das in der Abfragezeichenfolge des Developers angegeben ist, damit die Benutzer die App installieren können.
  • Wenn das MSIX Core-Installationsprogramm bereits installiert ist, wenn der Benutzer setup.exe ausführt, startet das MSIX Core-Installationsprogramm automatisch und zeigt den Installationsbildschirm für das in der Abfragezeichenfolge angegebene MSIX-Paket an, damit Benutzer die App installieren können.