Utilisez le SDK de MSIX pour distribuer un package MSIX sur les plateformes non Windows 10

Le SDK MSIX offre aux développeurs un moyen universel pour distribuer le contenu du package vers les périphériques clients, quel que soit la plateforme du système d’exploitation sur le périphérique client. Cela permet aux développeurs de leur contenu d’application en une seule fois, au lieu d’avoir du package au package pour chaque plateforme.

Pour tirer parti du SDK MSIX et la possibilité de distribuer votre contenu du package sur plusieurs plateformes, nous fournissons un moyen de spécifier les plateformes cibles où vous souhaitez vos packages d’extraction. Cela signifie que vous pouvez vous assurer que le contenu du package est extraites du package qu’au moment où vous le souhaitez.

Le tableau suivant présente les familles de périphérique cible pour déclarer dans le manifeste.

Plateforme Famille Famille de périphériques cibles Notes
Windows 10 Phone





















Platform.All























Windows.Universal Windows.Mobile Appareils mobiles
Bureau Windows.Desktop PC
Xbox Windows.Xbox Console Xbox
Surface Hub Windows.Team Appareils grand écran Windows 10
HoloLens Windows.Holographic Casque VR/AR
IoT Windows.IoT Appareils IoT
iOS Phone Apple.Ios.All Apple.Ios.Phone iPhone, tactile
Tablet Apple.Ios.Tablet iPad mini, iPad, iPad Pro
TV Apple.Ios.TV Apple TV
Regardez Apple.Ios.Watch iWatch
MacOS Bureau Apple.MacOS.All MacBook Pro, MacBook Air, Mac Mini, iMac
Android Phone Google.Android.All Google.Android.Phone Appareils mobiles qui ciblent toutes les versions d’Android
Tablet Google.Android.Tablet Tablettes Android
Bureau Google.Android.Desktop Chromebooks
TV Google.Android.TV Appareils Android grand écran
Regardez Google.Android.Watch Appareils d’engrenage de Google
Windows 7 Windows7.Desktop Appareils Windows 7
8 Windows8.Desktop Appareils Windows 8/8.1
Web Microsoft Web.All Web.Edge.All Applications de moteur de bord web
Android Web.Blink.All Faire clignoter le moteur des applications web
Chrome Web.Chromium.All Applications de moteur de chrome web
iOS Web.Webkit.All Applications de moteur WebKit web
MacOS Web.Safari.All Applications de moteur web Safari
Linux Any/All Linux.All Toutes les distributions Linux

Dans le fichier manifeste de package d’application, vous devez inclure la famille de périphériques cibles appropriés si vous aimez le contenu du package à extraire uniquement sur les appareils et plateformes spécifiques. Si vous aimez la bulid le package de sorte qu’il est pris en charge sur tous les types de plateformes et appareils, choisissez Platform.All en tant que la famille de périphériques cible. De même, si vous aimez le package à prendre en charge uniquement dans les applications web, choisissez Web.All.

Exemple de fichier manifeste (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>

Version de la plateforme

Dans le ci-dessus exemple de fichier manifeste, ainsi que le nom de la plateforme, il existe également des paramètres pour spécifier le MinVersion et MaxVersionTested ces paramètres sont utilisés sur les plateformes Windows 10. Sur Windows 10, le package est déployé uniquement sur les versions de système d’exploitation de Windows 10 supérieures à la MinVersion. Sur d’autres plateformes non Windows 10, les paramètres MinVersion et MaxVersionTested ne sont pas utilisées pour rendre la déclaration de s’il faut extraire le contenu du package.

Si vous souhaitez utiliser le package pour toutes les plateformes (Windows 10 et Windows 10), nous vous recommandons d’utiliser les paramètres MinVersion et MaxVersionTested pour spécifier les Versions de système d’exploitation Windows 10 dans lequel vous souhaitez que votre application fonctionne. Par conséquent, de votre manifeste dépendances section ressemblerait à ceci :

  <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 et MaxVersionTested sont des champs obligatoires dans le manifeste et ils doivent se conformer les notation(#.#.#.#) quad. Si vous utilisez uniquement l’empaquetage MSIX Kit de développement logiciel pour que les plates-formes autres que Windows 10, vous pouvez simplement utiliser « 0.0.0.0 » comme le MinVersion et MaxVersionTested en tant que les versions.

Comment utiliser efficacement le même package sur toutes les plateformes (Windows 10 et Windows 10)

Pour tirer le meilleur parti du SDK d’empaquetage MSIX, vous devez générer le package d’une manière qui sera déployé comme un package d’application sur Windows 10 et en même temps pris en charge sur d’autres plateformes. Sur Windows 10, vous pouvez créer le package comme un Extension d’application. Pour plus d’informations sur les Extensions d’application et comment ils peuvent aider à rendre votre application extensible, consultez le Introduction aux Extensions d’application billet de blog.

Dans l’exemple de fichier manifeste indiquée plus haut dans cet article, vous remarquerez une propriétés élément dans le AppExtension élément. Aucune validation n’est effectuée dans cette section du fichier manifeste. Cela permet aux développeurs de spécifier les métadonnées requises entre l’application d’extension et hôte/client.