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.
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). Si vous souhaitez utiliser une application de bureau, utilisez le pont du bureau pour créer un package d’application Windows que vous pouvez charger dans le Windows 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
Si votre application communique avec un pilote, vous pouvez utiliser Windows.Devices.Custom, qui fait partie de l’API WinRT et, par conséquent, disponible en JavaScript, C# et 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 (PFN) de l'application 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. Par exemple, utilisez les entrées suivantes dans sccD sur un PC de bureau en mode développeur :
Entrée de catalogue dans le SCCD.
<Catalog>FFFF</Catalog>Hachage de la signature du certificat pour l'inscription 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.
Marquez le SCCD comme contenu de build en cliquant avec le bouton droit sur le fichier SCCD et en remplaçant le contenu par True. Pour un projet C#, utilisez la propriété Build Action = Content, et pour un projet JavaScript, utilisez Package Action = Content.
Enfin, cliquez avec le bouton droit sur le projet, sélectionnez Store, puis Créez des packages d’application.
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 paquet.
- Ajoutez l’entrée de fonctionnalité personnalisée de nouveau dans votre manifeste AppX.
- Reconstruisez et déployez.
Rubriques connexes
- Hardware Support App (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
- Associer un pilote à une application UWP (Universal Windows Platform)
- Introduction à la plateforme Windows universelle
- Plateforme Windows universelle (UWP)