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.