Utilisez le SDK de MSIX pour distribuer un package MSIX sur les plateformes non Windows 10Use the MSIX SDK to distribute an MSIX package on non-Windows 10 platforms

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.The MSIX SDK offers developers a universal way to distribute package contents to client devices regardless of the OS platform on the client device. 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.This enables developers to package their app content once instead of having to package for each platform.

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.To take advantage of the MSIX SDK and the ability to distribute your package contents to multiple platforms, we provide a way to specify the target platforms where you want your packages to extract to. Cela signifie que vous pouvez vous assurer que le contenu du package est extraites du package qu’au moment où vous le souhaitez.This means you can ensure that the package contents are being extracted from the package only as you desire.

Le tableau suivant présente les familles de périphérique cible pour déclarer dans le manifeste.The following table shows the target device families to declare in the manifest.

PlateformePlatform FamilleFamily Famille de périphériques ciblesTarget Device Family NotesNotes
Windows 10Windows 10 PhonePhone





















Platform.AllPlatform.All























Windows.UniversalWindows.Universal Windows.MobileWindows.Mobile Appareils mobilesMobile devices
BureauDesktop Windows.DesktopWindows.Desktop PCPC
XboxXbox Windows.XboxWindows.Xbox Console XboxXbox console
Surface HubSurface Hub Windows.TeamWindows.Team Appareils grand écran Windows 10Large screen Win 10 devices
HoloLensHoloLens Windows.HolographicWindows.Holographic Casque VR/ARVR/AR headset
IoTIoT Windows.IoTWindows.IoT Appareils IoTIoT devices
iOSiOS PhonePhone Apple.Ios.AllApple.Ios.All Apple.Ios.PhoneApple.Ios.Phone iPhone, tactileiPhone, Touch
TabletTablet Apple.Ios.TabletApple.Ios.Tablet iPad mini, iPad, iPad ProiPad mini, iPad, iPad Pro
TVTV Apple.Ios.TVApple.Ios.TV Apple TVApple TV
RegardezWatch Apple.Ios.WatchApple.Ios.Watch iWatchiWatch
MacOSMacOS BureauDesktop Apple.MacOS.AllApple.MacOS.All MacBook Pro, MacBook Air, Mac Mini, iMacMacBook Pro, MacBook Air, Mac Mini, iMac
AndroidAndroid PhonePhone Google.Android.AllGoogle.Android.All Google.Android.PhoneGoogle.Android.Phone Appareils mobiles qui ciblent toutes les versions d’AndroidMobile devices that target any flavor of Android
TabletTablet Google.Android.TabletGoogle.Android.Tablet Tablettes AndroidAndroid tablets
BureauDesktop Google.Android.DesktopGoogle.Android.Desktop ChromebooksChromebooks
TVTV Google.Android.TVGoogle.Android.TV Appareils Android grand écranAndroid large screen devices
RegardezWatch Google.Android.WatchGoogle.Android.Watch Appareils d’engrenage de GoogleGoogle gear devices
WindowsWindows 77 Windows7.DesktopWindows7.Desktop Appareils Windows 7Windows 7 devices
88 Windows8.DesktopWindows8.Desktop Appareils Windows 8/8.1Windows 8/8.1 devices
WebWeb MicrosoftMicrosoft Web.AllWeb.All Web.Edge.AllWeb.Edge.All Applications de moteur de bord webEdge web engine apps
AndroidAndroid Web.Blink.AllWeb.Blink.All Faire clignoter le moteur des applications webBlink web engine apps
ChromeChrome Web.Chromium.AllWeb.Chromium.All Applications de moteur de chrome webChrome web engine apps
iOSiOS Web.Webkit.AllWeb.Webkit.All Applications de moteur WebKit webWebkit web engine apps
MacOSMacOS Web.Safari.AllWeb.Safari.All Applications de moteur web SafariSafari web engine apps
LinuxLinux Any/AllAny/All Linux.AllLinux.All Toutes les distributions LinuxAll Linux distributions

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.In the app package manifest file, you will need to include the appropriate target device family if you like the package contents to be only extracted on specific platforms and devices. 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.If you like the bulid the package in such a way that it is supported on all platform and device types, choose Platform.All as the target device family. De même, si vous aimez le package à prendre en charge uniquement dans les applications web, choisissez Web.All.Similarly, if you like the package to be only supported in web apps, choose Web.All.

Exemple de fichier manifeste (AppxManifest.xml)Sample manifest file (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 plateformePlatform version

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.In the above sample manifest file, along with the platform name, there are also parameters to specify the MinVersion and MaxVersionTested These parameters are used on Windows 10 platforms. Sur Windows 10, le package est déployé uniquement sur les versions de système d’exploitation de Windows 10 supérieures à la MinVersion.On Windows 10, the package will only be deployed on Windows 10 OS versions greater than the 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.On other non-Windows 10 platforms, the MinVersion and MaxVersionTested parameters aren't used to make the declaration of whether to extract the package contents.

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.If you would like to use the package for all platforms(Windows 10 and non-Windows 10), we recommend that you use the MinVersion and MaxVersionTested parameters to specify the Windows 10 OS Versions where you would like your app to work. Par conséquent, de votre manifeste dépendances section ressemblerait à ceci :So your manifest's Dependencies section would look like this:

  <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.MinVersion and MaxVersionTested are required fields in the manifest and they need to conform the quad notation(#.#.#.#). 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.If you are only using the MSIX packaging SDK for only non-Windows 10 platforms, you can simply use '0.0.0.0' as the MinVersion and MaxVersionTested as the versions.

Comment utiliser efficacement le même package sur toutes les plateformes (Windows 10 et Windows 10)How to effectively use the same package on all platforms (Windows 10 and non-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.To make the most of the MSIX Packaging SDK, you will need to build the package in a way that will be deployed like an app package on Windows 10 and at the same time supported on other platforms. Sur Windows 10, vous pouvez créer le package comme un Extension d’application.On Windows 10, you can build the package as an App Extension. 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.For more information about App Extensions and how they can help make your app extensible, see the Introduction to App Extensions blog post.

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.In the manifest file example shown earlier in this article, you will notice a Properties element within the AppExtension element. Aucune validation n’est effectuée dans cette section du fichier manifeste.There is no validation performed in this section of the manifest file. Cela permet aux développeurs de spécifier les métadonnées requises entre l’application d’extension et hôte/client.This allows developers to specify the required metadata between extension and host/client app.