Aktualisieren UMDF Treiber während der Entwicklung
Frage
Ich habe einige Probleme Aktualisierung UMDF Treiber mit „devcon“ während einer Standard-Code-deploy-Debug-Zyklus. Das Problem ist, dass „devcon Update“ ist nicht wirklich zu aktualisieren, es sei denn etwas die Versionsnummer oder das Datum der DLL Datei und die INF-Datei hat sich geändert, was im System des Fahrers gespeichert Cache-Ordner. Nach unerträglichen Reihe von Experimenten habe ich entdeckt, dass ein Weg, um die Sache zu zwingen, die neuesten Dateien zu verwenden, ist durch das Tun Folgendes ein:
- Ändern übergeben die Parameter "Stampinf.exe" in "makefile.inc" durch explizit Einstellen einer Version mit die Option "-v".
- das Ändern
Ressourcenskriptdatei ( „DRIVER_NAME.rc“) zu definieren, erste
VER_USE_OTHER_MAJOR_MINOR_VER
vor „ntverp.h
“ einschließlich und dann explizit definierenVER_PRODUCTMAJORVERSION
undVER_PRODUCTMINORVERSION
. Du wirst beachten Sie, dass dieses System nicht erlaubt uns den Build zu ändern und die Revisionsnummern. Auf Win7 diese scheint zu bei 7600 und 16385 befestigt zu werden in "ntverp.h
". Ist das durch Design?
Also, ich ändere ersten „makefile.inc“ und stellen Sie die Option „-v“ so etwas wie
„1.1.7600.16385“ manuell die kleinere Version für jede einzelne Inkrementieren
bauen und dann die RC-Datei und Update VER_PRODUCTMINORVERSION
ändern mit
die gleiche Zahl.
Alternativ kann, wenn ich eine Eingabeaufforderung unter dem Systemkonto ausgeführt und gehen und Löschen Sie den Treiber-Cache-Ordner in "C: \ windows \ system32 \ Drivers \ FileRepository \ DRIVER FOLDER" vor läuft „devcon“, dann geht das auch.
Nun, ich denke ich etwas recht einfach hier fehle, da dies scheint sein eine ziemlich schmerzhafte Art und Weise, es zu tun. Bitte Hilfe! Vielen Dank!
Lösung
Warum können Sie nicht nur das Gerät vom Netz trennen und den unbelasteten DLL ersetzen? Sie sollten nicht den Treiber neu installieren müssen, nur um das Modul ersetzen. Beachten Sie, dass Sie sollten dies bei der Produktion oder nichts tun, die mit Kunden zu tun haben, aber wenn Sie einen Treiber schreiben, Slam nur in dem neuen Modul mit der gleichen Versionsnummer.
Auf Win7 scheint dies bei 7600 und 16385 in "ntverp.h" fixiert werden. Ist die durch Design?
Ja, zumindest bis zum nächsten Service Pack
Andere Tipps
Wie Paul Betts oben vorgeschlagen hat, scheint der Weg zu gehen zu sein, einfach die UMDF DLL im Treiberordner direkt ersetzen (zum Beispiel c:\windows\system32\drivers\umdf\
) nach dem Gerät entweder im Gerätemanager deaktivieren oder mit „devcon“. Ich fragte, würde diese Frage auf der Microsoft-Gerätetreiber Newsgroup, bevor Posting hier hatte aber bekam keine befriedigende Antwort - aber einige Leute am Ende reagiert es nach ich hier gepostet! So werde ich auch einen Link zu diesem Beitrag setzen: