Question

J'ai quelques problèmes de mise à jour des pilotes UMDF en utilisant « devcon » au cours d'une cycle standard de code deploy-debug. Le problème est que « la mise à jour devcon » n'est pas la mise à jour vraiment quoi que ce soit à moins que le numéro de version ou la date de la DLL fichier et le fichier INF a changé de ce qui est stocké dans le pilote du système dossier cache. Après une série affolant d'expériences que j'ai découvert que une façon de forcer la chose à utiliser les derniers fichiers est en faisant le suivant:

  1. Modifier les paramètres passés à « Stampinf.exe » dans « makefile.inc » par définissant explicitement une version avec l'option "-v".
  2. Modifier la     fichier script de ressources ( « DRIVER_NAME.rc ») d'abord définir     VER_USE_OTHER_MAJOR_MINOR_VER     avant d'inclure « ntverp.h » puis     définir explicitement     VER_PRODUCTMAJORVERSION et     VER_PRODUCTMINORVERSION. vous aurez     Notez que ce système ne permet pas     nous de changer la construction et la     numéros de révision. Sur ce Win7     semble être fixé à 7600 et 16385     dans "ntverp.h". Est-ce par la conception?

Alors, je suis Modify « makefile.inc » et réglez l'option « -v » à quelque chose comme « 1.1.7600.16385 » incrémenter manuellement la version mineure pour chaque construire et modifier le fichier RC et mettre à jour avec VER_PRODUCTMINORVERSION le même nombre.

Par ailleurs, si je cours sous le compte SYSTEM une invite de commande et d'aller supprimez le dossier cache du pilote dans "C: \ windows \ system32 \ DriverStore \ FileRepository \ DRIVER FOLDER" avant en cours d'exécution « devcon », puis qui fonctionne aussi.

Maintenant, je pense que je manque quelque chose assez basique comme cela semble être une façon assez pénible de le faire. S'il vous plaît aider! Merci!

Était-ce utile?

La solution

Pourquoi ne pas débrancher tout l'appareil et remplacer la DLL déchargée? Vous ne devriez pas avoir besoin de réinstaller le pilote, il suffit de remplacer le module. Notez que vous ne devriez pas le faire pendant la production ou tout ce qui a à voir avec les clients, mais si vous écrivez un pilote, juste claquer dans le nouveau module avec le même numéro de version.

  

Win7 cela semble être fixé à 7600 et 16385 dans « ntverp.h ». Est-ce par la conception?

Oui, au moins jusqu'à ce que le prochain service pack

Autres conseils

Comme Paul Betts a suggéré ci-dessus, la voie à suivre semble être simplement remplacer directement la UMDF DLL dans le dossier du pilote (par exemple c:\windows\system32\drivers\umdf\) après la désactivation du dispositif soit dans le gestionnaire de périphériques ou en utilisant « devcon ». J'avais posé cette question sur des pilotes de périphériques de Microsoft newsgroup avant de poster ici, mais ne l'avais pas obtenu une réponse satisfaisante - mais certaines personnes a fini par répondre il après J'ai posté ici! Donc, je vais mettre un lien vers ce poste ainsi:

  

http://bit.ly/6PDxKT

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top