Udostępnij przez


Używanie zestawu MSIX SDK do dystrybucji pakietu MSIX na platformach innych niż Windows 10

Zestaw MSIX SDK oferuje deweloperom uniwersalny sposób dystrybucji zawartości pakietu na urządzenia klienckie niezależnie od platformy systemu operacyjnego na urządzeniu klienckim. Dzięki temu deweloperzy mogą spakować zawartość aplikacji raz, zamiast konieczności tworzenia pakietów dla każdej platformy.

Aby skorzystać z zestawu MSIX SDK i możliwości dystrybucji zawartości pakietu na wiele platform, udostępniamy sposób określania platform docelowych, na których mają być wyodrębniane pakiety. Oznacza to, że można upewnić się, iż zawartość pakietu jest wyodrębniana dokładnie według twojego życzenia.

W poniższej tabeli przedstawiono rodziny urządzeń docelowych do zadeklarowania w manifeście.

Platforma Rodzina Rodzina urządzeń docelowych Notatki
Windows 10 Telefon





















Platform.Wszystko























Windows.Universal Windows.Mobile Urządzenia mobilne
Pulpit nawigacyjny Windows.Desktop Komputer osobisty
Konsola Xbox Windows.Xbox Konsola Xbox
Surface Hub - Urządzenie do współpracy Windows.Team Duży ekran — urządzenia Win 10
Urządzenie HoloLens Windows.Holographic Zestaw słuchawkowy VR/AR
Iot Windows.IoT Urządzenia IoT
Ios Telefon Apple.Ios.Wszystko Apple.iOS.Telefon iPhone, Touch
Tablet Apple.Ios.Tablet iPad mini, iPad, iPad Pro
TELEWIZJA Apple.iOS.TV Apple TV
Zegarek Apple.Ios.Watch iWatch
MacOS Pulpit nawigacyjny Apple.MacOS.All MacBook Pro, MacBook Air, Mac Mini, iMac
Android Telefon Google.Android.All Telefon Google Android Urządzenia przenośne przeznaczone dla dowolnego wariantu systemu Android
Tablet Google.Android.tablet Tablety z systemem Android
Pulpit nawigacyjny Google.Android.Desktop Chromebooki
TELEWIZJA Google.Android.TV Urządzenia z dużym ekranem systemu Android
Zegarek Google.Android.Watch Urządzenia Google Gear
Windows 7 Windows7.Desktop Urządzenia z systemem Windows 7
8 Windows8.Desktop Urządzenia z systemem Windows 8/8.1
Sieć WWW Microsoft Web.All Web.Edge.All Aplikacje oparte na silniku webowym Edge
Android Web.Blink.All aplikacje oparte na silniku Blink
Chrom Web.Chromium.All Aplikacje silnika internetowego Chrome
Ios Web.Webkit.All Aplikacje oparte na silniku Webkit
MacOS Web.Safari.All Aplikacje silnika przeglądarki Safari
Linuxa Dowolne/wszystkie Linux.Wszystko Wszystkie dystrybucje systemu Linux

W pliku manifestu pakietu aplikacji należy uwzględnić odpowiednią rodzinę urządzeń docelowych, jeśli zawartość pakietu ma zostać wyodrębniona tylko na określonych platformach i urządzeniach. Jeśli chcesz zbudować pakiet w taki sposób, aby był obsługiwany na wszystkich typach platform i urządzeń, wybierz Platform.All jako rodzinę docelowych urządzeń. Podobnie, jeśli chcesz, aby pakiet był obsługiwany tylko w aplikacjach internetowych, wybierz pozycję Web.All.

Przykładowy plik manifestu (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>

Wersja platformy

W powyższym przykładowym pliku manifestu wraz z nazwą platformy istnieją również parametry służące do określenia parametrów MinVersion i MaxVersionTest te parametry są używane na platformach Windows 10. W systemie Windows 10 pakiet zostanie wdrożony tylko w wersjach systemu operacyjnego Windows 10 nowszych niż MinVersion. Na innych platformach innych niż Windows 10 parametry MinVersion i MaxVersionTest nie są używane do deklarowania, czy wyodrębnić zawartość pakietu.

Jeśli chcesz użyć pakietu dla wszystkich platform (Windows 10 i innych niż Windows 10), zalecamy użycie parametrów MinVersion i MaxVersionTest w celu określenia wersji systemu operacyjnego Windows 10, w których aplikacja ma działać. W związku z tym sekcja Zależności manifestu będzie wyglądać następująco:

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

Pola MinVersion i MaxVersionTest są wymagane w manifeście i muszą być zgodne z notacją czworokątową(#.#.#). Jeśli używasz zestawu SDK pakietów MSIX tylko dla platform innych niż Windows 10, możesz po prostu użyć wersji '0.0.0.0' jako MinVersion i MaxVersionTested.

Jak skutecznie używać tego samego pakietu na wszystkich platformach (Windows 10 i innych niż Windows 10)

Aby jak najlepiej wykorzystać zestaw SDK pakietów MSIX, należy skompilować pakiet w sposób, który zostanie wdrożony jak pakiet aplikacji w systemie Windows 10 i jednocześnie obsługiwany na innych platformach. W systemie Windows 10 możesz skompilować pakiet jako rozszerzenie aplikacji. Aby uzyskać więcej informacji na temat rozszerzeń aplikacji i sposobu ich rozszerzania, zobacz wpis w blogu Wprowadzenie do rozszerzeń aplikacji .

W przykładzie pliku manifestu pokazanym wcześniej w tym artykule zauważysz element Properties w elemecie AppExtension . W tej sekcji pliku manifestu nie jest wykonywana walidacja. Dzięki temu deweloperzy mogą określić wymagane metadane między rozszerzeniem a aplikacją hosta/klienta.