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.