Utilisation du co-programme d’installation UMDF

Notes

Si votre pilote cible uniquement Windows 10, vous n’avez pas besoin de redistribuer WDF ou de fournir un Coinstaller dans votre package de pilotes. Pour cibler Windows 10 :

  1. Dans Visual Studio, dans la page de propriétés Paramètres du projet, sous Paramètres du pilote ->Version du système d’exploitation cible, sélectionnez Windows 10 ou une version ultérieure. Cela équivaut à ajouter ce qui suit au fichier .vcxproj :
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
  1. Dans la section Fabricant INF, spécifiez 10.0 comme version du système d’exploitation cible, comme suit :
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0

Vous devrez peut-être toujours référencer le coinstaller fourni par le système comme suit :

[Echo_Install.NT.CoInstallers] 
AddReg=CoInstallers_AddReg

[CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,WudfCoinstaller.dll

Un co-programme d’installation met à jour la version de l’infrastructure stockée sur l’ordinateur et traite les sections de fichier INF spécifiques à l’infrastructure. Cette rubrique décrit les deux co-programmes d’installation UMDF et quand vous devez en inclure un avec votre package d’installation de pilote ou référencer un co-programme d’installation dans votre fichier INF.

Obtention du package de co-programme d’installation

Dans Windows 8.1, les mises à jour de l’infrastructure redistribuable fournies par Microsoft sont incluses dans le Kit de pilotes Windows (WDK).

Pour obtenir la liste complète du contenu du répertoire du co-programme d’installation, consultez Composants d’installation pour les pilotes KMDF.

Entre autres composants, le répertoire du co-programme d’installation contient un co-programme d’installation de mise à jour, appelé WUDFUpdate_MMmmm.dll, où MM est le numéro de version principal et mmm le numéro de version secondaire.

Le co-programme d’installation de mise à jour met à jour la version de l’infrastructure UMDF qui se trouve sur l’ordinateur. Par exemple, si l’ordinateur a UMDF version 1.9 et que le co-programme d’installation contient la version 1.11, le co-programme d’installation met à jour la version de l’infrastructure de l’ordinateur vers la version 1.11.

Le système d’exploitation inclut un autre co-programme d’installation, appelé co-programme d’installation de configuration, ou WudfCoinstaller.dll. Le co-programme d’installation de configuration traite les sections spécifiques à UMDF du fichier INF du pilote et effectue toutes les mises à jour nécessaires dans le Registre.

Référencement de co-programmes d’installation à partir de votre fichier INF

Si vous écrivez un pilote UMDF 2.0 pour Windows 8.1, votre fichier INF doit référencer le co-programme d’installation de configuration. Étant donné que le co-programme d’installation de configuration est inclus dans le système d’exploitation, vous n’avez pas besoin de le redistribuer.

Si vous écrivez un pilote UMDF 1.11 qui cible les systèmes d’exploitation antérieurs à Windows 8.1, vous devez vous assurer que la version 1.11 de l’infrastructure est installée sur les machines qui utilisent votre pilote. Voici trois façons de procéder :

  • Référencez le co-programme d’installation de mise à jour dans votre fichier INF et incluez le co-programme d’installation de mise à jour dans votre package d’installation de pilote. Lorsque le système d’exploitation installe votre pilote, il exécute le co-programme d’installation. Si votre pilote est distribué via Windows Update, vous devez choisir cette option.

  • Redistribuez le package MSU approprié (par exemple umdf-1.11-Win-6.0.msu) avec une application d’installation qui l’appelle. Vous trouverez un exemple d’une telle application dans le sous-répertoire src\general\wdkinstall de votre installation WDK. Vous pouvez choisir cette option si vous écrivez un programme d’installation fourni avec l’appareil et qui doit être exécuté avant que l’appareil puisse être utilisé. Si vous choisissez cette option, votre fichier INF doit référencer le co-programme d’installation de configuration.

  • Appuyez-vous sur Windows Update pour installer la version requise de l’infrastructure sur les machines qui utilisent votre pilote. À compter de la version 1.11 de l’infrastructure, les nouvelles versions d’UMDF sont distribuées via Windows Update. Si vous choisissez cette option, votre fichier INF doit référencer le co-programme d’installation de configuration.

Dans votre fichier INF, vous devez toujours référencer le co-programme d’installation de mise à jour ou le co-programme d’installation de configuration. Toutefois, le référencement des deux co-programmes d’installation dans l’INF entraîne des erreurs d’installation.

Sections de fichier INF pour le co-programme d’installation

Le fichier INF de votre pilote doit inclure une section INF DDInstall.CoInstallers. Si vous redistribuez le co-programme d’installation de mise à jour, votre section DDInstall.CoInstallers doit inclure à la fois une directive AddReg INF et une directive CopyFiles INF, comme le montre l’exemple suivant.

[MyDriver_Install.CoInstallers]
AddReg = MyDriver_Install.CoInstallers_AddReg
CopyFiles = MyDriver_CoInstallers_CopyFiles

La directive AddReg INF identifie une section INF qui crée une entrée de Registre CoInstallers32 .

[MyDriver_Install.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfUpdate_01011.dll"

La directive INF CopyFiles identifie une section INF qui copie le co-programme d’installation de l’appareil d’installation vers l’appareil système.

[MyDriver_CoInstallers_CopyFiles]
WudfUpdate_01011.dll

Si vous redistribuez un package MSU, votre section DDInstall.CoInstallers doit spécifier une directive AddReg qui fait référence au co-programme d’installation de configuration.

[Echo_Install.NT.CoInstallers]
AddReg=CoInstallers_AddReg
[CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,WudfCoinstaller.dll

Le fichier INF de votre pilote doit toujours contenir une section DDInstall.Wdf que le co-programme d’installation lit après son installation. Pour plus d’informations sur les directives que votre pilote peut spécifier dans DDInstall.Wdf, consultez Spécification de directives WDF dans les fichiers INF.

Vous pouvez éviter de créer plusieurs fichiers INF pour plusieurs versions de l’infrastructure à l’aide des fichiers INX et de l’outil Stampinf . Pour plus d’informations sur les fichiers INX, consultez Utilisation de fichiers INX pour créer des fichiers INF.