árbol de dispositivos Volver a explorar cambios de hardware durante la instalación del controlador

StackOverflow https://stackoverflow.com/questions/2145207

Pregunta

Estoy usando InstallShield para instalar mi aplicación, un conductor y un servicio. Es necesario instalar el controlador de plug-n-play sólo si es el identificador de hardware se encuentra en el administrador de dispositivos. La instalación del controlador se realiza mediante DPInst.exe. Mi problema, es que un usuario puede a veces manualmente desinstalar el controlador (Después de que se instaló o incluso desinstalar el "Desconocido controlador" en "Otros dispositivos" ) y luego se 't encontrar el identificador de hardware en el árbol de dispositivos, aunque se enchufa el dispositivo. Si examinan de nuevo en el árbol de dispositivos durante la instalación utilizando CM_Reenumerate_DevNode_Ex (El código equivalente de "Analizar en busca de un nuevo hardware" ), no puedo encontrar el identificador de hardware, pero esto trae a colación el "Asistente para hardware nuevo encontrado" .

¿Hay alguna forma para volver a explorar el árbol de dispositivos, pero suprimir el "asistente de nuevo hardware encontrado" o para no repetir el análisis, pero todavía asegurarse de que mi ID de hardware del dispositivo está presente en el sistema?

¿Fue útil?

Solución

Estoy escribiendo una nueva respuesta puesto que ya tenemos demasiados comentarios en mi mayor, y su contenido se basó en una pequeña falta de comprensión de la situación.

El problema real, como lo entiendo ahora, es el asistente "Agregar nuevo hardware" que pops-up cuando volver a escanear los dispositivos, antes de de instalar el controlador. Por desgracia, este asistente pops-up cada vez que no se encuentra ningún controlador adecuado para manejar un nuevo dispositivo en el sistema, por lo que con el fin de superarla, la única opción es asegurarse de que existe un controlador de este tipo en el sistema. Esto lleva a dos posibles soluciones que puedo ver:

  1. Ir para una primera instalación del software, y asegúrese de que el controlador es adecuado para el dispositivo (la inf está bien formado, y usted tiene la firma WHQL). En lo que entiendo, esto no es una opción, ya que no desea instalar el controlador en máquinas que no tienen el dispositivo conectado (me gustaría saber por qué).
  2. Asegúrese de que algún otro conductor en el sistema es adecuado para manejarlo. En ese caso tiene que elegir uno de los (que sería el caos no estragos si se tratara de actuar como un controlador de función para el dispositivo) controladores incorporados, y darle a su dispositivo un juego compatible con la identificación - una que haría que el incorporados controladores que se encuentran adecuado. De esta manera usted no tendrá que esperar a que el usuario después de la re-exploración de dispositivos, pero dependiendo de su dispositivo, la búsqueda de un accesorio controlador integrado podría ser imposible.

Otros consejos

Parece que va en ello el camino equivocado. Si usted tiene una instalación basada en MSI, por qué no usar DIFxApp en lugar de DPInst? En cuanto a la asistente "Se ha encontrado nuevo hardware", necesitará dos cosas aquí:

  1. Asegúrese de que el archivo inf es correcta (por lo que el controlador está asociado con el identificador de hardware)
  2. Obtener una firma WHQL de la EM. Este paso es necesario para XP, ya que los conductores no son de confianza no se asignan automáticamente a los dispositivos. Con Vista y 7 puede firmar digitalmente el conductor sí mismo, sino que obtendrá una advertencia durante la instalación, preguntando al usuario si él / ella desea confiar en este editor (usted).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top