La section de désinstallation de mon .INF

Je travaille sur l’extension d’un pilote de périphérique USB existant, et j’ai du mal à comprendre le fonctionnement du fichier .INF. Je crois que je l’ai maintenant, le pilote installe et travaille. Il apparaît également dans la liste “Ajout / Suppression de programmes”.

Je trouve que lorsque je désinstalle le pilote de l’ajout / suppression, il semble qu’il ne fasse presque rien. C’était dans le .INF comme je l’ai hérité:

[myUninstall] DelReg = myDelReg [MyDelReg] HKLM, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\myName" 

Je ne trouve aucune autre référence, même si “myName” est installé dans le registre Uninstall.

J’ai changé le .INF pour avoir ceci:

 [DefaultUninstall] myUninstall [myUninstall] DelFiles = ... a list of files ... DelDirs = UNINST.Dirs DelReg = UNINST.Regs Cleanup = 1 [UNINST.Dirs] %16422%\%InstallDir% [UNINST.Regs] myDev.AddReg myDev.CommonRegs [myDev.AddReg] ; same definition used for installing HKR,,Drivers,Subclasses,,"wave,midi,mixer,aux" ... [myDev,CommonRegs] ; same definition used for installing HKR, Parameters, BufferSize, 0x0010001, 256 ... 

Toutefois, que je désinstalle à partir du programme Ajout / Suppression de programmes ou que je le fasse depuis le gestionnaire de périphériques, le système ne se plaint pas et rien ne semble se produire. J’ai regardé le résultat de “dpinst / c” et le setupapi.log, et je ne le dis pas beaucoup. dpinst ne montre aucune erreur mais n’essaie clairement pas d’exécuter ma section de désinstallation.

Je trouve beaucoup de verbiage en ligne et des exemples de sections de désinstallation, mais très peu d’explications. J’ai trébuché sur une phrase dans 1 forum aujourd’hui qui impliquait que le périphérique PnP .INF n’utilise pas Uninstall. C’est peut-être mon problème?

  1. Est-ce que je me trompe en pensant que je peux avoir Désinstaller dans .INF?
  2. Y a-t-il une autre façon de dire ce qui se passe?
  3. est mon seul recours pour écrire un programme de désinstallation séparé?

AFIK, les fichiers INF ne participent pas à la désinstallation.

Vous devrez écrire un programme de désinstallation distinct si vous souhaitez effectuer un nettoyage approprié.

Notez également que, avec Vista et au-delà, Windows inclut également un magasin de pilotes, où il copie de manière silencieuse le package de pilotes (références de fichiers et fichiers à partir du fichier inf). Si vous souhaitez effectuer un nettoyage complet, le magasin de pilotes doit également être nettoyé.