Freigeben über


Verwenden des MSIX SDK zum Verteilen eines MSIX-Pakets auf Nicht-Windows 10-Plattformen

Das MSIX SDK bietet Entwicklern eine universelle Möglichkeit, Paketinhalte unabhängig von der Betriebssystemplattform auf dem Clientgerät an Clientgeräte zu verteilen. Auf diese Weise können Entwickler ihre App-Inhalte einmal verpacken, anstatt für jede Plattform verpacken zu müssen.

Um das MSIX SDK und die Funktion zur Verteilung Ihrer Paketinhalte auf mehrere Plattformen zu nutzen, bieten wir eine Möglichkeit, die Zielplattformen anzugeben, auf denen Ihre Pakete bereitgestellt werden sollen. Dies bedeutet, dass Sie sicherstellen können, dass der Paketinhalt nur nach Wunsch aus dem Paket extrahiert wird.

In der folgenden Tabelle sind die Zielgerätefamilien aufgeführt, die im Manifest deklariert werden sollen.

Plattform Familie Zielgerätefamilie Hinweise
Windows 10 Telefonnummer





















Platform.All























Windows.Universal Windows.Mobile Mobile Geräte
Arbeitsfläche Windows.Desktop PC
Xbox (Englisch) Windows.Xbox Xbox-Konsole
Oberflächen-Hub Windows-Team Win 10-Geräte mit großem Bildschirm
HoloLens Windows.Holographic VR/AR-Headset
Iot Windows.IoT IoT-Geräte
Ios Telefonnummer Apple.Ios.All Apple iOS-Telefon iPhone, Touch
Tablette Apple.Ios.Tablet iPad mini, iPad, iPad Pro
Fernseher Apple.Ios.TV Apple TV
Uhr Apple.Ios.Watch iWatch
MacOS Arbeitsfläche Apple.MacOS.All MacBook Pro, MacBook Air, Mac Mini, iMac
Android Telefonnummer Google.Android.All Google.Android.Phone Mobile Geräte, die auf einen beliebigen Android-Geschmack abzielen
Tablette Google.Android.Tablet Android-Tablets
Arbeitsfläche Google.Android.Desktop Chromebooks
Fernseher Google.Android.TV Android-Geräte mit großem Bildschirm
Uhr Google.Android.Watch Google Gear-Geräte
Fenster 7 Windows7.Desktop Windows 7-Geräte
8 Windows8.Desktop Windows 8/8.1-Geräte
das Internet Microsoft Web.All Web.Edge.All Apps mit Edge-Web-Engine
Android Web.Blink.All Blink-Webmodul-Apps
Chrom Web.Chromium.All Chrome Web-Engine-Apps
Ios Web.Webkit.All Webkit-Web-Engine-Apps
MacOS Web.Safari.Alle Safari-Web-Engine-Apps
Linux (Englisch) Alle/alle Linux.All Alle Linux-Distributionen

In der App-Paketmanifestdatei müssen Sie die entsprechende Zielgerätefamilie einschließen, wenn Der Paketinhalt nur auf bestimmten Plattformen und Geräten extrahiert werden soll. Wenn Ihnen das Paket so gefällt, dass es auf allen Plattform- und Gerätetypen unterstützt wird, wählen Sie "Platform.All " als Zielgerätefamilie aus. Wenn Sie möchten, dass das Paket nur in Web-Apps unterstützt wird, wählen Sie "Web.All" aus.

Beispielmanifestdatei (AppxManifest.xml)

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
         xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
         IgnorableNamespaces="mp uap uap3">

  <Identity Name="BestAppExtension"
            Publisher="CN=awesomepublisher"
            Version="1.0.0.0" />

  <mp:PhoneIdentity PhoneProductId="56a6ecda-c215-4864-b097-447edd1f49fe" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>

  <Properties>
    <DisplayName>Best App Extension</DisplayName>
    <PublisherDisplayName>Awesome Publisher</PublisherDisplayName>
    <Description>This is an extension package to my app</Description>
    <Logo>Assets\StoreLogo.png</Logo>
  </Properties>

  <Resources>
    <Resource Language="x-generate"/>
  </Resources>

  <Dependencies>
    <TargetDeviceFamily Name="Platform.All" MinVersion="0.0.0.0" MaxVersionTested="0.0.0.0"/>
  </Dependencies>

  <Applications>
    <Application Id="App">
      <uap:VisualElements
          DisplayName="Best App Extension"
          Description="This is the best app extension"
          BackgroundColor="white"
          Square150x150Logo="images\squareTile-sdk.png"
          Square44x44Logo="images\smallTile-sdk.png"
          AppListEntry="none">
      </uap:VisualElements>

      <Extensions>
        <uap3:Extension Category="Windows.appExtension">
          <uap3:AppExtension Name="add-in-contract" Id="add-in" PublicFolder="Public" DisplayName="Sample Add-in" Description="This is a sample add-in">
            <uap3:Properties>
               <!--Free form space-->
            </uap3:Properties>
          </uap3:AppExtension>
        </uap3:Extension>
      </Extensions>

    </Application>
  </Applications>
</Package>

Plattformversion

In der obigen Beispielmanifestdatei zusammen mit dem Plattformnamen gibt es auch Parameter, um die Parameter "MinVersion " und "MaxVersionTested " auf Windows 10-Plattformen anzugeben. Unter Windows 10 wird das Paket nur unter Windows 10-Betriebssystemversionen bereitgestellt, die größer als die MinVersion sind. Auf anderen Nicht-Windows 10-Plattformen werden die Parameter MinVersion und MaxVersionTested nicht verwendet, um die Deklaration darüber zu erstellen, ob der Paketinhalt extrahiert werden soll.

Wenn Sie das Paket für alle Plattformen (Windows 10 und Nicht-Windows 10) verwenden möchten, empfiehlt es sich, die Parameter "MinVersion" und "MaxVersionTested" zu verwenden, um die Windows 10-Betriebssystemversionen anzugeben, in denen Ihre App funktionieren soll. Der Abschnitt "Abhängigkeiten" ihres Manifests würde also wie folgt aussehen:

  <Dependencies>
    <TargetDeviceFamily Name="Platform.All" MinVersion="0.0.0.0" MaxVersionTested="0.0.0.0"/>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.14393.0" MaxVersionTested="10.0.16294.0"/>
  </Dependencies>

MinVersion und MaxVersionTested sind Pflichtfelder im Manifest und müssen der Quadnotation(#.#.#.#) entsprechen. Wenn Sie nur das MSIX-Verpackungs-SDK nur für Nicht-Windows 10-Plattformen verwenden, können Sie einfach "0.0.0.0" als MinVersion und MaxVersionTested als Versionen verwenden.

Verwenden desselben Pakets auf allen Plattformen (Windows 10 und Nicht-Windows 10)

Um das MSIX Packaging SDK optimal zu nutzen, müssen Sie das Paket auf eine Weise erstellen, die wie ein App-Paket unter Windows 10 bereitgestellt und gleichzeitig auf anderen Plattformen unterstützt wird. Unter Windows 10 können Sie das Paket als App-Erweiterung erstellen. Weitere Informationen zu App-Erweiterungen und dazu, wie sie Ihre App erweiterbar machen können, finden Sie im Blogbeitrag "Einführung in App-Erweiterungen ".

Im Weiter oben in diesem Artikel gezeigten Manifestdateibeispiel werden Sie ein Properties-Element innerhalb des AppExtension-Elements bemerken. In diesem Abschnitt der Manifestdatei wird keine Überprüfung ausgeführt. Auf diese Weise können Entwickler die erforderlichen Metadaten zwischen Erweiterung und Host-/Client-App angeben.