utiliser le kit de développement logiciel (SDK) MSIX pour distribuer un package MSIX sur des plateformes non Windows 10

Le kit de développement logiciel (SDK) MSIX offre aux développeurs un moyen universel de distribuer le contenu des packages aux périphériques clients, quelle que soit la plate-forme 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 d’avoir à les 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 sur plusieurs plateformes, nous proposons un moyen de spécifier les plateformes cibles où 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.

Plateforme Famille Famille d’appareils cibles Notes
Windows 10 Téléphone





















Platform. All























Windows. Universelle Windows. Processeur Appareils mobiles
Bureau Windows. Écran PC
Xbox Windows. Xbox Console Xbox
Surface Hub Windows. Travail Grand écran Win 10 appareils
HoloLens Windows. Holographique Casque VR/AR
IoT Windows. IoT Appareils IoT
iOS Téléphone Apple. iOS. All Apple. iOS. Téléphone iPhone, Touch
Tablette Apple. iOS. tablette iPad mini, iPad, iPad Pro
TV Apple.Ios.TV TV Apple
Espion Apple. iOS. Watch iWatch
MacOS Bureau Apple. MacOS. All MacBook Pro, MacBook Air, Mac Mini, iMac
Android Téléphone Google. Android. All Google. Android. Téléphone Appareils mobiles ciblant n’importe quelle version d’Android
Tablette Google. Android. tablette Tablettes Android
Bureau Google. Android. Desktop Chromebooks
TV Google.Android.TV Appareils Android à écran large
Espion Google. Android. Watch Appareils Google Gear
Windows 7 PC de bureau appareils Windows 7
8 Windows8. Desktop appareils Windows 8/8,1
Web Microsoft Web. All Web. Edge. All Applications du moteur Web Edge
Android Web. Blink. All Clignoter des applications de moteur Web
Chrome Internet. Chromium. Tous les Applications de moteur Web chrome
iOS Web. WebKit. All Applications du moteur Web WebKit
MacOS Web. Safari. All Applications du moteur Web Safari
Linux Any/All Linux. All Toutes les distributions Linux

Dans le fichier manifeste du package d’application, vous devez inclure la famille d’appareils cibles appropriée si vous souhaitez que le contenu du package soit uniquement extrait sur des plateformes et des appareils spécifiques. Si vous aimez le bulid du package de sorte qu’il soit pris en charge sur tous les types de plateformes et d’appareils, choisissez plateforme. tout 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, avec le nom de la plateforme, il existe également des paramètres pour spécifier MinVersion et MaxVersionTested ces paramètres sont utilisés sur les plateformes de Windows 10. sur Windows 10, le package sera déployé uniquement sur les versions Windows 10 du système d’exploitation supérieures à MinVersion. sur les autres plateformes non Windows 10, les paramètres MinVersion et MaxVersionTested ne sont pas utilisés pour indiquer si le contenu du package doit être extrait.

si vous souhaitez utiliser le package pour toutes les plateformes (Windows 10 et non-Windows 10), nous vous recommandons d’utiliser les paramètres MinVersion et MaxVersionTested pour spécifier les Versions Windows 10 du système d’exploitation où vous souhaitez que votre application fonctionne. La section des dépendances de votre manifeste ressemble donc à 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 doivent être conformes à la notation quad (#. #. #. #). si vous utilisez uniquement le kit de développement logiciel (SDK) MSIX packaging pour les plateformes non Windows 10, vous pouvez simplement utiliser' 0.0.0.0 'comme MinVersion et MaxVersionTested comme versions.

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

pour tirer le meilleur parti du kit de développement logiciel (SDK) MSIX Packaging, vous devez générer le package de manière à ce qu’il soit déployé comme un package d’application sur Windows 10 et simultanément 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 la façon dont elles peuvent vous aider à étendre votre application, consultez le billet de blog Introduction to App extensions .

Dans l’exemple de fichier manifeste indiqué plus haut dans cet article, vous remarquerez un élément Properties 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/client.