Erstellen eines MSIX-Pakets mit MSIX Core aus Quellcode

MSIX Core bietet MSIX-Bereitstellung, um frühere Versionen von Windows. Sie können das MSIX Core-Installationsprogramm nutzen, um eine Anwendung mithilfe von ClickOnce. Dadurch können Ihre Benutzer eine Anwendung herunterladen setup.exe und die MSIX-App über das MSIX Core-Installationsprogramm installieren.

Hosten Ihrer App auf einem Webserver

Um Ihre App für bootstrapping mit dem MSIX Core-Installationsprogramm bereit zu machen, 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, müssen Sie über ein Azure-Abonnement verfügen. Informationen zum Abrufen eines Kontos finden Sie auf der Azure-Kontoseite.

Erstellen einer Azure-Web-App

Um zu beginnen, wechseln Sie 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. Lassen Sie andernfalls alle anderen Standardwerte.
  4. Klicken Sie auf Erstellen , und schließen Sie den Assistenten ab.

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 ist eine Standarddateihostingstart.html . Klicken Sie mit der rechten Maustaste in den leeren Bereich von Explorer, und wählen 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 Explorer, und wählen Sie Neue Dateien aus, um eine neue Datei zu erstellen. Geben Sie der Datei den Namen, wie Ihre HTML-Standardseite sein soll.

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

Fügen Sie der Web-Web.config neue Datei mit dem Namen hinzu. Öffnen Sie die 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 Start, und suchen Sie nach Windows Features aktivieren oder deaktivieren.
  2. Wählen Sie Internetinformationsdienste.
  3. Stellen Sie außerdem sicher, dass Sie ASP.NET 4.5 oder höher installieren. Erweitern Sie im Windows-Dialogfeld Features die Option Internetinformationsdienste ->World Wide Web Services ->Application Development 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 höher) und Webentwicklungstools sind erforderlich. Wenn Sie bereits Visual Studio 2017 oder eine neuere Version installiert haben, stellen Sie sicher, dass die Workloads ASP.NET und Webentwicklung installiert sind. Installieren Sie andernfalls Visual Studio hier.

Erstellen einer Web-App

Starten 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 Projektmappen-Explorer mit der rechten Maustaste auf das Stammprojekt, und wählen Sie Eigenschaften aus.
  2. Wählen Sie in den 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 Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten.
  2. Wählen Sie Hinzufügen ->Neuer Ordner 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 Add -Existing Item (Vorhandenes> Element hinzufügen) aus. Navigieren Sie zum Speicherort des App-Pakets.

Erstellen einer Webseite

Erstellen Sie je nach Bedarf eine HTML-Seite oder eine andere Web-App. Fügen Sie den Link ihrer neuen setup.exe.

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

Öffnen Sie Web.config Projektmappen-Explorer, und fügen Sie im Konfigurationselement 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, müssen Sie über eine AWS-Mitgliedschaft verfügen. 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 zum Hosten Windows 10 App-Paketen und Webseiten für die Verteilung.

  1. Melden Sie sich bei AWS an. Suchen Sie unter Dienstenach S3.
  2. Wählen Sie Bucket erstellen aus, und geben Sie einen Bucketnamen für Ihre Website ein. Befolgen Sie die Dialogaufforderungen zum Festlegen von Eigenschaften und Berechtigungen. Um sicherzustellen, dass Ihre Windows 10-App von Ihrer Website verteilt werden kann, aktivieren Sie Lese- und Schreibberechtigungen für Ihren Bucket, und wählen Sie Öffentlichen Lesezugriff auf diesen Bucket gewähren aus. Klicken Sie auf Bucket erstellen , um diesen Schritt fertig zu stellen.
  3. Wenn Sie fertig sind, laden Sie Ihre MSIX-Pakete und Webseiten in den S3-Bucket hoch.

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

Verwenden sie eine Webdienstschnittstelle wie den S3-Browser, um neue STANDARD-HTTP-Header hinzuzufügen.

  1. Navigieren Sie zu Extras , und wählen Sie Http-Standardheader aus.
  2. Klicken Sie im Dialogfeld Http-Standardheader 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: Content-Type
    • Headerwert: application/msix

Hinweis

 AWS hat einige strenge Richtlinien, die Sie befolgen müssen. Bucketnamen müssen z. B. 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 Anwendungsanwendungs-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 Befehl URL 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. Das Projekt für GitHub finden Sie hier.

Navigieren Sie zu dem Verzeichnis, in dem Sie die 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 eine neue setup.exe erstellt wurde, müssen Sie die App erneut signieren, um zu überprüfen, ob Sie ein vertrauenswürdiger Herausgeber der Anwendung sind, und um die Integrität der Anwendung zu gewährleisten. Sie können SignTool verwenden und Ihr Zertifikat bereitstellen.

Verteilen der Anwendung an Ihre Benutzer

Sie können jetzt mit einem Link oder einer Downloadschaltfläche setup.exe auf die neue Website verweisen. MSIX Core richtet sich an Benutzer Windows 10 Version 1703 und früher. Der App-Installer ist der ideale Installationsvorgang für MSIX-Pakete Windows Version 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 Installationsvorgang 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) auffordern.

Benutzerfreundlichkeit

Benutzer laden einfach die setup.exe von der Webseite des Entwicklers 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-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 ausführt, 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.