Partager via


Mise à jour des fichiers de pilotes

Les pilotes sont mis à jour chaque fois que l’un des éléments suivants se produit :

  • L’Assistant Mise à jour matérielle est exécuté à partir de Gestionnaire de périphériques.

    Note À compter de Windows Vista, cet Assistant est désormais nommé Assistant Mettre à jour le logiciel du pilote.

  • Windows Update est exécuté.

  • Le logiciel d’installation d’un appareil est exécuté.

  • À partir de Windows Vista, vous pouvez exécuter l’outil PnPUtil à partir d’une invite de commandes avec élévation de privilèges pour installer ou mettre à jour le package de pilotes pour l’appareil.

Suivez les instructions suivantes lorsque vous écrivez des logiciels d’installation et des fichiers INF qui mettent à jour des pilotes existants.

  • Le logiciel d’installation peut appeler UpdateDriverForPlugAndPlayDevices, en fournissant un fichier INF et un ID matériel, pour mettre à jour les pilotes des appareils qui correspondent à l’ID matériel.

    À compter de Windows Vista, le logiciel d’installation peut également appeler l’un des éléments suivants pour mettre à jour les pilotes :

    • DiInstallDriver, qui préinstalle un pilote, puis installe le pilote sur les appareils présents dans le système pris en charge par le pilote.
    • DiInstallDevice, qui installe un pilote spécifié à partir du magasin de pilotes sur un appareil spécifié présent dans le système.

    Pour plus d’informations, consultez Écriture d’une application d’installation d’appareil.

  • Lors de la mise à niveau d’un pilote, les programmes d’installation et les co-programmes d’installation de classe ne doivent pas fournir de pages d’installation de fin en réponse à DIF_NEWDEVICEWIZARD_FINISHINSTALL , sauf si cela est absolument nécessaire. Si possible, obtenez des informations sur la fin de l’installation à partir des paramètres de l’installation précédente.

  • Dans la mesure du possible, les programmes d’installation et les co-programmes d’installation de classe doivent éviter de se baser sur le fait qu’ils fournissent une installation initiale ou qu’ils mettent à jour des pilotes pour un appareil déjà installé.

  • À compter de Windows XP, les valeurs de Registre CoInstallers32 et EnumPropPages32 sont supprimées avant la remise de DIF_REGISTER_COINSTALLERS. Les fichiers INF pour les versions antérieures du système d’exploitation doivent supprimer explicitement ces valeurs ou effectuer une opération de modification non imminente.

  • À compter de Windows XP, les valeurs de Registre UpperFilters et LowerFilters sont supprimées avant la remise de DIF_INSTALLDEVICE. Les fichiers INF pour les versions antérieures du système d’exploitation doivent supprimer explicitement ces valeurs ou effectuer une opération de modification non imminente.

  • N’utilisez pasde directives Inf DelFiles ou de directives Inf RenFiles lors de la mise à jour des pilotes. Windows ne peut pas garantir qu’un fichier particulier n’est pas utilisé par un autre appareil. (Les programmes d’installation de classe et les co-programmes d’installation peuvent supprimer ou renommer des fichiers, s’ils peuvent déterminer de manière fiable qu’aucun appareil n’utilise les fichiers.)

  • Utilisez la directive INF DelReg pour supprimer les anciennes entrées de Registre spécifiques à l’appareil d’une installation précédente de l’appareil, si les entrées ne sont plus nécessaires. (Ne supprimez pas les entrées de Registre global.)

  • N’utilisez pas la directive Inf DelService dans une section INF DDInstall.Services pour supprimer les services de périphériques/pilotes installés précédemment de l’ordinateur cible. Windows ne peut pas garantir qu’un service particulier n’est pas utilisé par un autre appareil. (Les programmes d’installation de classe et les co-programmes d’installation peuvent supprimer des services, s’ils peuvent déterminer de manière fiable qu’aucun appareil n’utilise les services.)

  • Lors de la mise à jour d’un programme d’installation de classe, d’un co-programme d’installation de classe ou d’une DLL de service, vous devez donner à la nouvelle version un nouveau nom de fichier.

Pour plus d’informations sur les fichiers INF, consultez Création d’un fichier INF et Sections et directives de fichier INF.