Como dispositivos e pacotes de driver são desinstalados
Esta página descreve como o software desinstala um dispositivo e remove um pacote de driver do repositório de drivers.
Desinstalando o dispositivo
Para remover o nó do dispositivo (devnode) que representa um dispositivo físico, use um dos seguintes:
Para desinstalar somente o dispositivo especificado, use um aplicativo de instalação de dispositivo que chama a função SetupAPI SetupDiCallClassInstaller com uma solicitação de DIF_REMOVE.
Para desinstalar o dispositivo especificado e quaisquer dispositivos abaixo dele na árvore de dispositivos, use um aplicativo de instalação de dispositivo que chame a função DiUninstallDevice.
Quando um dispositivo é desinstalado usando um desses métodos, o gerenciador Plug and Play (PnP) remove a associação entre os arquivos binários do driver e o dispositivo.
O dispositivo permanece na árvore PnP do kernel e o pacote de driver permanece no armazenamento do driver. Se o gerenciador PnP reenumerar o dispositivo (por exemplo, se o dispositivo estiver desconectado e, em seguida, conectado novamente), o gerenciador PnP o tratará como uma nova instância de dispositivo e instalará o pacote de driver do repositório de driver.
Para obter informações sobre como um usuário final pode desinstalar um dispositivo, consulte Usando o Gerenciador de dispositivos para desinstalar dispositivos e pacotes de driver.
Excluindo um pacote de driver do repositório de drivers
Para excluir um pacote de driver do repositório de drivers, você deve:
- Verifique se nenhum dispositivo está instalado com o pacote de driver.
- Remova o pacote de driver do repositório de drivers.
Para executar ambas as etapas com uma ação, você pode executar um dos seguintes procedimentos:
- A partir do Windows 10, versão 1607, no prompt de comando, use
pnputil /delete-driver <example.inf> /uninstall
. Para obter informações sobre comandos PnPUtil, consulte Sintaxe de comando PnPUtil. - A partir do Windows 10, versão 1703, um aplicativo de instalação de dispositivo pode chamar DiUninstallDriverW.
No Windows 10, versão 1511 e anteriores:
- Identifique todos os dispositivos atualmente instalados com o pacote de driver e atualize-os para que não dependam do pacote de driver. Você pode executar um dos seguintes procedimentos:
- Instale um pacote de driver diferente no dispositivo.
- Use DiInstallDevice com o
DIIDFLAG_INSTALLNULLDRIVER
sinalizador para instalar o driver nulo no dispositivo. - Desinstale o dispositivo.
- Em seguida, o aplicativo de instalação do dispositivo chama SetupUninstallOEMInf para remover o pacote de driver.
A exclusão de um pacote de driver do repositório de drivers remove os metadados associados do banco de dados interno do gerenciador PnP e exclui arquivos INF relacionados do diretório INF do sistema.
Depois que o pacote de driver for removido, ele não estará mais disponível para ser instalado em um dispositivo. Para reinstalar, baixe o pacote de driver novamente da fonte original, como o Windows Update.
Excluir manualmente o pacote de driver do armazenamento de driver pode resultar em comportamento imprevisível.