Condividi tramite


Modalità di disinstallazione di dispositivi e pacchetti driver

Questa pagina descrive come il software disinstalla un dispositivo e rimuove un pacchetto driver dall'archivio driver.

Disinstallazione del dispositivo

Per rimuovere il nodo del dispositivo (devnode) che rappresenta un dispositivo fisico, usare una delle opzioni seguenti:

  • Per disinstallare solo il dispositivo specificato, usare un'applicazione di installazione del dispositivo che chiama la funzione SetupAPI SetupDiCallClassInstaller con una richiesta di DIF_REMOVE.

  • Per disinstallare il dispositivo specificato e tutti i dispositivi sottostanti nell'albero dei dispositivi, usare un'applicazione di installazione del dispositivo che chiama la funzione DiUninstallDevice.

Quando un dispositivo viene disinstallato usando uno di questi metodi, il gestore Plug and Play (PnP) rimuove l'associazione tra i file binari del driver e il dispositivo.

Il dispositivo rimane nell'albero PnP del kernel e il pacchetto driver rimane nell'archivio driver. Se il gestore PnP enumera nuovamente il dispositivo ,ad esempio se il dispositivo è scollegato e quindi collegato di nuovo, il gestore PnP lo considera come una nuova istanza del dispositivo e installa il pacchetto driver dall'archivio driver.

Per informazioni su come un utente finale può disinstallare un dispositivo, vedi Uso di Gestione dispositivi per disinstallare dispositivi e pacchetti driver.

Eliminazione di un pacchetto driver dall'archivio driver

Per eliminare un pacchetto driver dall'archivio driver, è necessario:

  • Assicurarsi che non siano installati dispositivi con il pacchetto driver.
  • Rimuovere il pacchetto driver dall'archivio driver.

Per eseguire entrambi questi passaggi con un'azione, è possibile eseguire una delle operazioni seguenti:

  • A partire da Windows 10 versione 1607, dal prompt dei comandi usare pnputil /delete-driver <example.inf> /uninstall. Per informazioni sui comandi PnPUtil, vedi sintassi dei comandi PnPUtil.
  • A partire da Windows 10 versione 1703, un'applicazione di installazione del dispositivo può chiamare DiUninstallDriverW.

In Windows 10 versione 1511 e precedenti:

  1. Identificare tutti i dispositivi attualmente installati con il pacchetto driver e aggiornarli in modo che non dipendono dal pacchetto driver. È possibile eseguire una delle operazioni seguenti:
    1. Installare un pacchetto driver diverso nel dispositivo.
    2. Usare DiInstallDevice con il DIIDFLAG_INSTALLNULLDRIVER flag per installare il driver Null nel dispositivo.
    3. Disinstallare il dispositivo.
  2. L'applicazione di installazione del dispositivo chiama quindi SetupUninstallOEMInf per rimuovere il pacchetto driver.

L'eliminazione di un pacchetto driver dall'archivio driver rimuove i metadati associati dal database interno di Gestione PnP ed elimina i file INF correlati dalla directory INF di sistema.

Dopo aver rimosso il pacchetto driver, non è più disponibile per l'installazione in un dispositivo. Per reinstallare, scaricare di nuovo il pacchetto driver dall'origine originale, ad esempio Windows Update.

L'eliminazione manuale del pacchetto driver dall'archivio driver può comportare un comportamento imprevedibile.