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.