arborescence des périphériques Rescan pour les changements de matériel lors de l'installation du pilote

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

Question

J'utilise InstallShield pour installer mon application, un pilote et un service. Je dois installer le pilote plug-n-play que si elle est l'ID du matériel a été trouvé dans le gestionnaire de périphériques. L'installation du pilote est effectuée à l'aide DPInst.exe. Mon problème est qu'un utilisateur peut parfois désinstaller manuellement le pilote (après qu'il a été installé ou même désinstaller le « conducteur inconnu » dans « Autres périphériques » ) et je peux « t trouver le matériel ID dans l'arborescence des périphériques, bien que l'appareil est branché. Si je balayer de nouveau l'arborescence des périphériques lors de l'installation à l'aide CM_Reenumerate_DevNode_Ex (l'équivalent de code « Scan pour le nouveau matériel » ), je peux trouver l'ID de matériel, mais cela soulève la « Assistant nouveau matériel » .

Y at-il de toute façon à réanalyser l'arborescence des périphériques, mais supprimer la « Assistant nouveau matériel » ou pour éviter une nouvelle analyse, mais toujours en vous assurant mon ID matériel périphérique est présent dans le système?

Était-ce utile?

La solution

J'écris une nouvelle réponse puisque nous avons déjà trop de commentaires sur mon aîné, et son contenu a été basé sur une petite incompréhension de la situation.

Le problème réel, comme je le comprends maintenant, est l'assistant « Ajout de nouveau matériel » qui apparaît quand-renumériser pour les périphériques, avant d'installer votre pilote. Malheureusement, cet assistant apparaît-chaque fois que aucun pilote approprié est trouvé pour gérer un nouveau dispositif dans le système, de sorte que pour la surmonter, la seule option est de vous assurer qu'un tel pilote existe dans le système. Cela conduit à deux solutions possibles que je peux voir:

  1. Optez pour un logiciel première installation, et assurez-vous que votre pilote est adapté à l'appareil (l'inf est bien formé, et vous avez la signature WHQL). En ce que je comprends, ce n'est pas une option, parce que vous ne voulez pas installer le pilote sur des machines qui ne sont pas l'appareil connecté (j'aimerais savoir pourquoi).
  2. Assurez-vous qu'un autre pilote dans le système est adapté à manipuler. Dans ce cas, vous devez choisir l'un des pilotes intégrés (qui ne serait pas faire des ravages si elle devait agir en tant que pilote de fonction de votre appareil), et donner à votre appareil une pièce d'identité compatible correspondant - qui causerait la intégré conducteur se trouve approprié. De cette façon, vous ne devrez pas attendre que l'utilisateur après re-numérisation pour les périphériques, mais en fonction de votre appareil, trouver un raccord intégré conducteur pourrait être impossible.

Autres conseils

On dirait que vous allez à ce sujet dans le mauvais sens. Si vous avez une installation basée sur MSI, pourquoi ne pas utiliser DIFxApp au lieu de DPInst? Quant à l'assistant « Nouveau matériel », vous aurez besoin de deux choses ici:

  1. Assurez-vous que votre fichier .inf est correct (pour que votre pilote est associé à l'identifiant matériel)
  2. Obtenir une signature WHQL de MS. Cette étape est nécessaire pour XP, car les pilotes non fiables ne seront pas attribués automatiquement aux périphériques. Avec Vista et 7, vous pouvez signer numériquement le pilote vous-même, mais vous obtiendrez un avertissement lors de l'installation, en demandant à l'utilisateur s'il / elle souhaite faire confiance à cet éditeur (vous).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top