Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Les métadonnées de l’appareil sont déconseillées et seront supprimées dans une version ultérieure de Windows. Pour plus d’informations sur le remplacement de cette fonctionnalité, consultez Métadonnées du conteneur de package de pilotes.
Cet article explique comment associer une application spécifique à un appareil à un pilote ou un point de terminaison RPC (Appel de procédure distante). Lorsqu’elle est associée de cette manière, l’application est appelée une application de support matériel (HSA). Vous pouvez distribuer et mettre à jour une application de support matériel via le Microsoft Store.
Commencez par une application Universal Windows Platform (UWP) ou une application de bureau (Win32). If you would like to use a desktop app, use the Desktop Bridge to create a Windows App Package that you can upload to the Store.
Cette page décrit la procédure pour une application UWP, mais les étapes sont similaires pour l’option Win32.
Les étapes pour le développeur de pilotes sont décrites dans Application de support matériel (HSA) : Étapes pour les développeurs de pilotes.
Getting Started
Tout d’abord, installez la dernière version de Visual Studio et créez un projet d’application UWP. Pour créer une application UWP avec une fonctionnalité personnalisée, vous avez besoin du Kit de développement logiciel (SDK) Windows version 10.0.15063 (Windows 10 Creators Update) ou version ultérieure. Votre fichier de projet doit également spécifier la version 10.0.15063 ou supérieure. Pour plus d’aide sur la configuration, veuillez consulter la section Développer des applications UWP avec Visual Studio.
À partir de la version 1709 de Windows 10, vous pouvez spécifier qu’une application Universal Windows Platform (UWP) ne doit se charger que si un pilote spécifique est présent. Pour savoir comment, veuillez consulter la section Associer un pilote avec une application UWP.
Créer un compte Microsoft Store
Un compte développeur sur le Microsoft Store est requis. Les partenaires matériels ont besoin d’un compte Microsoft Store différent de celui de leur compte partenaire matériel. Vous avez besoin du nom de l’éditeur lorsque vous créez le manifeste de l’application et les métadonnées de l’appareil dans les étapes ultérieures. Vous pouvez également réserver un nom pour votre application une fois que vous avez créé un profil store.
Pour créer un compte Microsoft Store, accédez au Centre de développement Windows. Pour plus d’informations, veuillez consulter la section Publier des applications et jeux Windows.
Choisir un langage de programmation pour l’application
If your app communicates with a driver, you can use Windows.Devices.Custom, which is part of the WinRT API, and therefore available in JavaScript, C#, and C++.
Si votre application communique avec un service NT, vous devez utiliser les API RPC. Étant donné que les API RPC sont des API Win32 qui ne sont pas disponibles dans WinRT, vous devez utiliser C++, C++/CLI ou encapsuler les appels RPC à l’aide de l’interopérabilité .NET (PInvoke). Pour plus d’informations, veuillez consulter la section Appeler des fonctions natives depuis du code managé et .NET programming with C++/CLI.
Contacter le propriétaire de la fonctionnalité personnalisée
Vous êtes maintenant prêt à demander l’accès à une fonctionnalité personnalisée auprès d’un propriétaire de fonctionnalité. Vous devez collecter les informations suivantes :
- Nom de famille du package de l’application (PFN) depuis le Microsoft Store
- Nom de la fonctionnalité personnalisée
- Hachage de la signature du certificat de signature de l’application, qui peut être généré à partir de votre fichier .cer en utilisant certutil.exe. Le certificat doit être en SHA-256.
Pour générer le hachage de la signature, exécutez C:\Windows\System32\certutil.exe -dump CertificateName.cer.
Recherchez le hachage de la signature en bas et assurez-vous qu’il est en SHA256. Sinon, utilisez un certificat SHA256 pour signer votre application. Le résultat devrait ressembler à ceci :
Signature Hash:
ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4
Le propriétaire de la fonctionnalité utilise ces informations pour générer un fichier Descripteur de fonctionnalité personnalisée signée et envoie ce fichier au développeur de l’application.
Le développeur d’application peut continuer à développer une application avec des fonctionnalités personnalisées en mode développeur tout en attendant que le propriétaire de la fonctionnalité approuve la demande. For example, use the following entries in the SCCD on a desktop PC in Developer Mode:
Entrée de catalogue dans le SCCD.
<Catalog>FFFF</Catalog>Hachage de la signature du certificat dans l’entrée de l’entité autorisée dans le SCCD. Bien qu’il ne soit pas appliqué ou validé, placez une séquence de 64 caractères.
<AuthorizedEntity AppPackageFamilyName="MicrosoftHSATest.Microsoft.SDKSamples.Hsa.CPP_q536wpkpf5cy2" CertificateSignatureHash="ca9fc964db7e0c2938778f4559946833e7a8cfde0f3eaa07650766d4764e86c4"></AuthorizedEntity>
Ajouter une fonctionnalité personnalisée au manifeste du package d’application
Ensuite, modifiez votre fichier source du manifeste du package d’application (Package.appxmanifest) pour inclure un attribut de capacités.
<?xml version="1.0" encoding="utf-8"?>
<Package
...
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4">
...
<Capabilities>
<uap4:CustomCapability Name="CompanyName.customCapabilityName_PublisherID"/>
</Capabilities>
</Package>
Ensuite, copiez le fichier SCCD à la racine du package de l’application appx. Dans l’explorateur de solutions de Visual Studio, faites un clic droit sur « projet-> Ajouter -> Élément existant… » pour ajouter le SCCD à votre projet.
Mark the SCCD as build content by right clicking on the SCCD file and changing Content to True. Pour un projet C#, utilisez la propriété Build Action = Content, et pour un projet JavaScript, utilisez Package Action = Content.
Finally, right-click the project, select Store, then Create App Packages.
Il n’existe aucune prise en charge des applications UWP avec des fonctionnalités personnalisées sur des plateformes mobiles.
Installer l’application
Pour préinstaller une application UWP avec des fonctionnalités personnalisées, utilisez DISM - Deployment Image Servicing and Management.
Troubleshooting
Lorsque la machine cible est en Mode développeur, vous pouvez essayer les étapes suivantes pour déboguer un échec d’enregistrement d’application :
- Supprimez l’entrée de fonctionnalité personnalisée de votre manifeste AppX.
- Créez votre application et déployez-la.
- Dans une fenêtre PowerShell, tapez
Get-AppxPackage. - Recherchez votre application dans la liste et vérifiez le nom exact de famille du package de votre application.
- Mettez à jour votre SCCD avec le nom de famille du package.
- Ajoutez l’entrée de fonctionnalité personnalisée de nouveau dans votre manifeste AppX.
- Reconstruisez et déployez.
Related topics
- Application de Support Matériel (HSA) : Étapes pour les Développeurs de Pilotes
- Activer votre appareil pour le développement
- Exemple de fonctionnalité personnalisée
- Commencez à développer des pilotes Windows
- Appairer un pilote avec une application UWP (Universal Windows Platform)
- Introduction à la plateforme Windows universelle
- Plateforme Windows universelle (UWP)