Pregunta

Estoy teniendo algunos problemas para actualizar UMDF los conductores que utilizan el "devcon" durante un código estándar-implementar-ciclo de depuración.El problema es que "devcon actualización" no es realmente actualizar nada menos que el número de versión o de la fecha de la DLL archivo y el archivo INF que ha cambiado de lo que se almacena en el sistema del controlador carpeta de caché.Después de un enloquecedor serie de experimentos he descubierto que una forma de forzar la cosa para el uso de los archivos más recientes es hacer el siguiente:

  1. Cambio de los parámetros pasados a "stampinf.exe" en "makefile.inc" por establecer explícitamente una versión con la opción "-v".
  2. Modificar el recursos de archivo de secuencia de comandos ("DRIVER_NAME.rc") para definir primero VER_USE_OTHER_MAJOR_MINOR_VER antes de incluir "ntverp.h"y, a continuación, definir explícitamente VER_PRODUCTMAJORVERSION y VER_PRODUCTMINORVERSION.Te tenga en cuenta que este sistema no permite nosotros a cambio de la construcción y la números de revisión.En Win7 esta parece que se fije en el y 7600 16385 en "ntverp.h".Es por este diseño?

Así, en primer lugar modificar "makefile.inc" y la opción "-v" a algo como "1.1.7600.16385" incrementar manualmente la versión secundaria para cada uno de los construir y, a continuación, modifique el archivo RC y actualización VER_PRODUCTMINORVERSION con el mismo número.

Alternativamente, si puedo ejecutar un comando del sistema bajo el SISTEMA de cuenta y listo y elimine el controlador de caché de la carpeta en la "C:\windows\system32\DriverStore\FileRepository\DRIVER CARPETA" antes de la ejecución de "devcon", a continuación, que también funciona.

Ahora, estoy pensando que me falta algo bastante básico aquí ya que este parece más bien una dolorosa forma de hacerlo.Por favor, ayuda!Gracias!

¿Fue útil?

Solución

¿Por qué no puedes simplemente desconectar el dispositivo y vuelva a colocar el archivo DLL sin carga? No debería ser necesario volver a instalar el controlador, basta con sustituir el módulo. Tenga en cuenta que no debe hacer esto durante la producción o cualquier cosa que tenga que ver con los clientes, pero si usted está escribiendo un controlador, basta cerrar de golpe en el nuevo módulo con el mismo número de versión.

  

En Win7 esto parece estar fijada en 7600 y 16.385 en "ntverp.h". Es esta característica de diseño?

Sí, por lo menos hasta la siguiente actualización de

Otros consejos

Como Paul Betts ha sugerido más arriba, el camino a seguir parece ser simplemente reemplazar el UMDF DLL directamente en la carpeta del controlador (por ejemplo c:\windows\system32\drivers\umdf\) después de desactivar el dispositivo, ya sea en el administrador de dispositivos o el uso de "devcon". Me hice esta pregunta en el dispositivo los conductores del grupo de noticias de Microsoft antes de publicar aquí, pero no había conseguido una respuesta satisfactoria - pero algunas personas no terminé respondiendo después que he publicado aquí! Así que voy a poner un enlace a ese puesto, así:

  

http://bit.ly/6PDxKT

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top