Freigeben über


Erstellen eines MSIX-Pakets mit MSIX Core aus Quellcode

MSIX Core bringt MSIX-Bereitstellung, um 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 Ihrer 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).

Azurblau

Um diese Option zu verwenden, 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 Azure-Portalseite , 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 zum Beispiel zwischen Code oder Docker-Container und dem Laufzeitstapel wählen. Lassen Sie andernfalls alles andere auf Standard.
  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-Dienst-Editor".
  3. Im Editor gibt es eine Standarddatei hostingstart.html . Klicken Sie mit der rechten Maustaste auf den leeren Bereich des Datei-Explorers, und wählen Sie "Dateien hochladen " aus, um mit dem Hochladen Ihrer App-Pakete zu beginnen.
  4. Klicken Sie mit der rechten Maustaste im leeren Bereich des Datei-Explorer-Bereichs erneut, 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 der 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 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" 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 ->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 eine höhere Version) und Webentwicklungstools sind erforderlich. Wenn Sie Visual Studio 2017 oder eine höhere Version bereits installiert haben, stellen Sie sicher, dass die ASP.NET- und Webentwicklungsworkloads installiert sind. Installieren Sie andernfalls Visual Studio von hier aus.

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 im Projektmappen-Explorer mit der rechten Maustaste auf das Stammprojekt, und wählen Sie "Eigenschaften" aus.
  2. Wählen Sie in Eigenschaften die Registerkarte "Web" aus.
  3. Wählen Sie im Abschnitt "Server " im Dropdownmenü " Lokales 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 im Lösungs-Explorer mit der rechten Maustaste auf das Projekt.
  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 "Vorhandenes Element>" 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.exehinzu.

Konfigurieren der Web-App für MIME-Typen des App-Pakets

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

  1. Melden Sie sich bei AWS an. 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 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 abzuschließen.
  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 des App-Pakets

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

  1. Navigieren Sie zu "Extras ", und wählen Sie "Standard-HTTP-Header" 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".
    • Bucket-Name: msix-packages
    • Dateiname: *.msix
    • Headername: Inhaltstyp
    • Headerwert: application/msix

Hinweis

 AWS hat einige strenge Richtlinien, die Sie befolgen müssen. Bucket-Namen müssen beispielsweise eindeutig sein, und wenn Sie das obige Beispiel verwenden, müssen Sie den Bucket-Namen ändern.

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

Suchen Sie Ihre Anwendung ClickOnce setup.exe. Dies bezieht sich auf das Klonen des Git-Projekts; es wird gebaut und über ein Visual Studio-Projekt veröffentlicht.

URL-Befehl ausführen, um neuen 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 setup.exe-Datei 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.exeerstellt wurde, müssen Sie die App erneut signieren, um sicherzustellen, dass 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 Sie die Anwendung an Ihre Benutzer

Sie können jetzt auf die neue setup.exe mit einem Link oder einer Downloadschaltfläche auf ihrer Website verweisen. MSIX Core richtet sich an Benutzer unter 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 Consumer unter Windows 1709 oder einer höheren Version ist, und leitet sie an den App-Installer um.

In Microsoft Edge können Sie die getHostEnvironmentValue() -Methode aufrufen, und 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) 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.exeausführt, wird dem Benutzer die ClickOnce-Eingabeaufforderung angezeigt, und er klickt auf "Installieren ", um das MSIX Core-Installationsprogramm zu installieren. Das Installationsprogramm startet automatisch 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.exeausführt, startet das MSIX Core-Installationsprogramm automatisch und zeigt den Installationsbildschirm für das in der Abfragezeichenfolge für Benutzer angegebene MSIX-Paket an, um die App zu installieren.