Partager via


Instructions DIFx

À compter de Windows 10 version 1607, les outils DIFx (Driver Install Frameworks) (Difxapi.dll, Difxapp.dllet Difxappa.dllDPInst.exe) sont déconseillés et ne sont plus inclus dans le WDK.

Au lieu de cela, nous vous recommandons de fournir un package de pilotes autonome qui ne nécessite pas de programme d’installation. Ce package autonome ajoute ses propres paramètres ou configuration dont il a besoin pour fonctionner correctement. Un package de pilotes autonome ne dépend pas d’un programme d’installation pour modifier l’état système requis par le package de pilotes. Les packages de pilotes autonomes sont nécessaires pour prendre en charge la distribution du package de pilotes via Windows Update et l’ajout du package de pilotes à une image hors connexion. Nous vous recommandons de publier un package de pilotes autonome à remettre via Windows Update aux systèmes auxquels votre matériel est connecté. La première étape de la publication du package de pilotes sur Windows Update consiste à soumettre votre package de pilotes au Centre de développement matériel Windows.

Si vous choisissez d’utiliser DIFx de toute façon, vous devez utiliser un wdK plus ancien pour obtenir les outils appropriés. Les avertissements suivants s’appliquent :

  • Si votre package de pilotes spécifie uniquement les valeurs TargetOSVersion de Windows 8.1 ou version ultérieure, vous ne pouvez pas utiliser l’action personnalisée DIFxApp MSI (Difxapp.dll et Difxappa.dll) en raison de la dépendance de DIFxApp sur GetVersionEx, une API qui a changé à partir de Windows 8.1. TargetOSVersion est spécifié dans la section fabricant INF. DIFxApp expose des actions personnalisées MSI telles que MsiProcessDrivers, MsiInstallDrivers et MsiUninstallDrivers. Si votre package de pilotes spécifie les valeurs TargetOSVersion de Windows 8.1 ou version ultérieure, vous ne pouvez pas utiliser ces actions personnalisées dans votre MSI.

  • À compter de Windows 8.1, les applications qui sont liées doivent Difxapi.dll contenir un manifeste d’application ciblant la version du système d’exploitation sur laquelle l’application est destinée à s’exécuter. Cette exigence est due à la dépendance de DIFxAPI sur GetVersionEx, une API qui a changé à partir de Windows 8.1. Pour plus d’informations sur les modifications apportées à GetVersionEx dans Windows 8.1, consultez Ciblage de votre application pour Windows.

  • Si votre package de pilotes utilise la partie BuildNumber de TargetOSVersion (introduite dans Windows 10, version 1607 (build 14310 et ultérieure)), vous ne pouvez pas utiliser les outils DIFx avec ce package de pilotes. Les outils DIFx ne prennent pas en charge le ciblage BuildNumber.

  • Utilisez DIFx version 2.1, qui est disponible dans Windows 7 WDK via Windows 10 version 1511 WDK. Bien qu’une version DIFx de 2.1 soit disponible dans les versions antérieures de WDK, elle n’était pas compatible avec Windows 7 et versions ultérieures de Windows.

  • Les anciens kits WDK contiennent uniquement des versions x86 et amd64 des fichiers binaires DIFx. Les fichiers binaires DIFx ne sont pas disponibles pour d’autres architectures.

Bien qu’il ne soit plus mis à jour, vous trouverez la documentation de référence de l’API pour DIFx sur Difxapi.h. Si vous utilisez les API DriverPackagePreinstall, DriverPackageInstall et DriverPackageUninstall, envisagez de basculer vers DiInstallDriver et DiUninstallDriver.

Si vous avez toujours besoin d’un programme d’installation personnalisé pour installer votre package de pilotes, utilisez l’outil en ligne de commande PnPUtil ou un programme d’installation personnalisé qui appelle les fonctions d’installation du pilote.

De même, si vous avez besoin du programme d’installation personnalisé pour désinstaller le package de pilotes, utilisez PnPUtil ou un programme d’installation personnalisé qui appelle DiUninstallDriver ou SetupUninstallOEMInf.