Domanda

sto usando InstallShield per installare la mia applicazione, un autista e un servizio. È necessario installare il driver plug-n-play solo se si tratta di ID hardware è stato trovato in Gestione periferiche. L'installazione del driver è fatto usando DPInst.exe. Il mio problema è che un utente può a volte disinstallare manualmente il driver (Dopo che è stato installato o anche disinstallare il "autista sconosciuto" in "Altri dispositivi" ) e poi posso 't trovare l'ID hardware nella struttura dei dispositivi, anche se il dispositivo è collegato. Se io Rescan struttura dei dispositivi durante l'installazione usando CM_Reenumerate_DevNode_Ex (Il codice equivalente di "scansione per nuovo hardware" ), posso trovare l'ID hardware, ma questo porta in primo piano la "Installazione guidata nuovo hardware" .

Esiste un modo per ripetere la scansione ad albero dei dispositivi, ma sopprimere il "Installazione guidata nuovo hardware" o per evitare la ripetizione della scansione, ma ancora fare in modo mio ID hardware del dispositivo è presente nel sistema?

È stato utile?

Soluzione

Sto scrivendo una nuova risposta dal momento che abbiamo già troppi commenti sul mio più vecchio, e il suo contenuto è stato basato su una piccola incomprensione della situazione.

Il vero problema, a quanto mi risulta ora, è la procedura guidata "Aggiungi nuovo hardware" che si apre-up quando ripetere la scansione per i dispositivi, prima l'installazione del driver. Purtroppo, questa procedura guidata apre-up quando nessun driver adatto viene trovato per gestire un nuovo dispositivo nel sistema, in modo per superare esso, l'unica opzione è quella di fare in modo che un driver presente nel sistema. Questo porta a due possibili soluzioni che posso vedere:

  1. Vai per un software di prima installazione, e assicurarsi che il driver è adatto per il dispositivo (l'inf è ben formato, e si ha la firma WHQL). Per quanto ho capito, questa non è un'opzione, perché non si desidera installare il driver su macchine che non hanno il dispositivo collegato (mi piacerebbe sapere perché).
  2. Assicurarsi che qualche altro driver nel sistema è adatto per gestire la cosa. In questo caso è necessario scegliere uno dei driver integrati (uno che non sarebbe devastare se dovesse agire come un driver di funzione per il dispositivo), e dare il vostro dispositivo un ID compatibile corrispondenza - quella che avrebbe causato il driver incorporato da trovare adatto. In questo modo non sarà necessario attendere per l'utente dopo la ri-scansione per i dispositivi, ma a seconda del dispositivo, trovare un raccordo driver incorporato potrebbe essere impossibile.

Altri suggerimenti

Sembra che si sta andando su di esso nel modo sbagliato. Se si dispone di un'installazione basata MSI, perché non utilizzare DIFxApp invece di DPInst? Per quanto riguarda la procedura guidata "Trovato nuovo hardware", avrete bisogno di due cose qui:

  1. Assicurati che il file inf è corretto (in modo che il driver è associato con l'ID hardware)
  2. Ottenere una firma WHQL da MS. Questo passo è necessario per XP, in quanto i conducenti non attendibili non vengono assegnati automaticamente ai dispositivi. Con Vista e 7 è possibile firmare digitalmente il driver da soli, ma si otterrà un messaggio di avviso durante l'installazione, che chiede all'utente se lui / lei vuole fidarsi di questo inserzionista (voi).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top