Utiliser le kit SDK MSIX pour distribuer un package MSIX sur les plateformes autres que Windows 10

Le kit SDK MSIX offre aux développeurs un moyen universel de distribuer le contenu du package aux appareils clients, quelle que soit la plateforme du système d’exploitation sur l’appareil client. Cela permet aux développeurs d’empaqueter leur contenu d’application une seule fois au lieu de devoir empaqueter pour chaque plateforme.

Pour tirer parti du Kit de développement logiciel (SDK) MSIX et de la possibilité de distribuer le contenu de votre package à plusieurs plateformes, nous fournissons un moyen de spécifier les plateformes cibles dans lesquelles vous souhaitez que vos packages soient extraits. Cela signifie que vous pouvez vous assurer que le contenu du package est extrait du package uniquement comme vous le souhaitez.

Le tableau suivant montre les familles d’appareils cibles à déclarer dans le manifeste.

Plate-forme Famille Famille d’appareils cibles Notes
Windows 10 votre numéro de





















Platform.All























Windows.Universal Windows.Mobile Périphériques mobiles
Bureau Windows.Desktop PC
Xbox Windows.Xbox Console Xbox
Surface Hub Windows.Team Appareils Win 10 à grand écran
HoloLens Windows.Holographic Casque VR/AR
IoT Windows.IoT Appareils IoT
iOS votre numéro de Apple.Ios.All Apple.Ios.Phone iPhone, Touch
Tablette Apple.Ios.Tablet iPad mini, iPad, iPad Pro
TV Apple.Ios.TV Apple TV
Espion Apple.Ios.Watch iWatch
MacOS Bureau Apple.MacOS.All MacBook Pro, MacBook Air, Mac Mini, iMac
Android votre numéro de Google.Android.All Google.Android. Téléphone Appareils mobiles qui ciblent n’importe quelle version d’Android
Tablette Google.Android.Tablet Tablettes Android
Bureau Google.Android.Desktop Chromebooks
TV Google.Android.TV Appareils à grand écran Android
Espion Google.Android.Watch Appareils d’engrenage 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 web Edge
Android Web.Blink.All Applications de moteur web Blink
Chrome Web.Chromium.All Applications de moteur web Chrome
iOS Web.Webkit.All Applications de moteur web Webkit
MacOS Web.Safari.All Applications de moteur web Safari
Linux Tous/toutes Linux.All Toutes les distributions Linux

Dans le fichier manifeste du package d’application, vous devez inclure la famille d’appareils cible appropriée si vous souhaitez que le contenu du package soit extrait uniquement sur des plateformes et des appareils spécifiques. Si vous aimez le package de manière à ce qu’il soit pris en charge sur tous les types de plateforme et d’appareil, choisissez Platform.All comme famille d’appareils cible. De même, si vous souhaitez que le package soit pris 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 l’exemple de fichier manifeste ci-dessus, ainsi que le nom de la plateforme, il existe également des paramètres pour spécifier les paramètres MinVersion et MaxVersionTested Ces paramètres sont utilisés sur les plateformes Windows 10. Sur Windows 10, le package sera déployé uniquement sur les versions du système d’exploitation Windows 10 supérieures à MinVersion. Sur d’autres plateformes autres que Windows 10, les paramètres MinVersion et MaxVersionTested ne sont pas utilisés pour effectuer la déclaration indiquant s’il faut extraire le contenu du package.

Si vous souhaitez utiliser le package pour toutes les plateformes (Windows 10 et autres que Windows 10), nous vous recommandons d’utiliser les paramètres MinVersion et MaxVersionTested pour spécifier les versions du système d’exploitation Windows 10 dans lesquelles vous souhaitez que votre application fonctionne. Ainsi, la section Dépendances de votre manifeste se présente comme suit :

  <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 doivent être conformes à la notation quad (#.#.#.#). Si vous utilisez uniquement le Kit de développement logiciel (SDK) MSIX pour les plateformes autres que Windows 10, vous pouvez simplement utiliser « 0.0.0.0 » MinVersion et MaxVersionTested comme versions.

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

Pour tirer le meilleur parti de SDK MSIX Packaging, vous devez générer le package d’une manière qui sera déployée 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 générer le package en tant qu’extension d’application. Pour plus d’informations sur les extensions d’application et leur façon de rendre votre application extensible, consultez l’article de blog Introduction aux extensions d’application.

Dans l’exemple de fichier manifeste présenté précédemment dans cet article, vous remarquerez un élément de Propriétés dans l’élément AppExtension. 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’extension et l’application hôte/cliente.