Domanda

Sto avendo qualche problema con l'aggiornamento dei driver UMDF "devcon" nel corso di una standard di ciclo di codice da implementare-debug. Il problema è che "l'aggiornamento DevCon" non è in realtà l'aggiornamento nulla a meno che il numero di versione o la data della DLL file e il file INF è cambiato da ciò che è memorizzato nel conducente del sistema cartella della cache. Dopo una serie di esperimenti esasperante ho scoperto che un modo per forzare la cosa utilizzare i file più recenti è quello di fare il seguenti:

  1. Modificare i parametri passati al "Stampinf.exe" in "makefile.inc" di impostare in modo esplicito una versione con l'opzione "-v".
  2. Modificare la     file di script di risorse ( "DRIVER_NAME.rc") per definire prima     VER_USE_OTHER_MAJOR_MINOR_VER     prima di includere "ntverp.h" e poi     esplicitamente definire     VER_PRODUCTMAJORVERSION e     VER_PRODUCTMINORVERSION. avrete     notare che questo sistema non consente     di cambiare la costruzione e la     numeri di revisione. Su questo Win7     sembra essere fissato a 7600 e 16385     in "ntverp.h". È questo in base alla progettazione?

Quindi, in primo luogo ho Modifica "makefile.inc" e impostare l'opzione "-v" a qualcosa di simile "1.1.7600.16385" incrementare manualmente la versione minore per ogni singolo costruire e quindi modificare il file RC e aggiornare VER_PRODUCTMINORVERSION con lo stesso numero.

In alternativa, se corro un prompt dei comandi con l'account SYSTEM e vado a eliminare la cartella della cache conducente "C: \ windows \ system32 \ DriverStore \ FileRepository \ cartella Driver" prima esecuzione "devcon" allora che funziona anche.

Ora, sto pensando che mi manca qualcosa abbastanza di base qui come questo sembra essere un modo piuttosto doloroso di farlo. Per favore aiuto! Grazie!

È stato utile?

Soluzione

Perché non puoi semplicemente scollegare il dispositivo e sostituire la DLL scaricato? Non dovrebbe essere necessario reinstallare il driver, basta sostituire il modulo. Si noti che non si dovrebbe fare durante la produzione o qualsiasi cosa che ha a che fare con i clienti, ma se si sta scrivendo un driver, appena sbattono nel nuovo modulo con lo stesso numero di versione.

  

In Win7 questo sembra essere fissato a 7600 e 16385 in "ntverp.h". È questo in base alla progettazione?

Sì, almeno fino al prossimo service pack

Altri suggerimenti

Come Paul Betts ha suggerito sopra, la strada da percorrere sembra essere semplicemente sostituire la DLL UMDF direttamente nella cartella driver (ad esempio c:\windows\system32\drivers\umdf\) dopo la disattivazione del dispositivo sia in Gestione periferiche o utilizzando "devcon". Avevo fatto questa domanda sul dispositivo driver newsgroup di Microsoft prima di pubblicare qui, ma non avevo ottenuto una risposta soddisfacente - ma alcune persone finito per rispondere ci dopo che ho postato qui! Così mi metterò un link al post così:

  

http://bit.ly/6PDxKT

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top