本页介绍软件如何卸载设备并从驱动程序存储中删除驱动程序包。 卸载设备 若要删除表示物理设备的设备节点(devnode),请使用以下项之一: ……
本页介绍软件如何卸载设备并从驱动程序存储中删除驱动程序包。
卸载设备
若要删除表示物理设备的设备节点(devnode),请使用以下项之一:
若要仅卸载指定的设备,请使用调用 SetupAPI 函数 SetupDiCallClassInstaller 并请求DIF_REMOVE的设备安装应用程序。
若要在设备树中卸载指定的设备及其下的任何设备,请使用调用 DiUninstallDevice 函数的设备安装应用程序。
使用这些方法之一卸载设备时,即插即用 (PnP) 管理器会删除驱动程序二进制文件和设备之间的关联。
设备保留在内核 PnP 树中,驱动程序包保留在驱动程序存储中。 如果 PnP 管理器重新枚举设备(例如,如果设备被拔出,然后再次插入),则 PnP 管理器将其视为新设备实例,并从驱动程序存储安装驱动程序包。
有关最终用户如何卸载设备的信息,请参阅使用设备管理器卸载设备和驱动程序包。
从驱动程序存储中删除驱动程序包
若要从驱动程序存储中删除驱动程序包,必须:
确保未随驱动程序包一起安装任何设备。
从驱动程序存储中删除驱动程序包。
若要通过一个操作执行这两个步骤,可以执行下列操作之一:
从 Windows 10 版本 1607 开始,从命令提示符处使用 pnputil /delete-driver
从 Windows 10 版本 1703 开始,设备安装应用程序可以调用 DiUninstallDriverW。
在 Windows 10 版本 1511 及更低版本中:
识别当前随驱动程序包一起安装的所有设备并对其进行更新,使其不依赖于驱动程序包。 可以执行以下操作之一:
在设备上安装其他驱动程序包。
将 DiInstallDevice 与标志配合使用 DIIDFLAG_INSTALLNULLDRIVER ,在设备上安装 null 驱动程序。
卸载设备。
然后,设备安装应用程序调用 SetupUninstallOEMInf 删除驱动程序包。
从驱动程序存储中删除驱动程序包将从 PnP 管理器的内部数据库中删除关联的元数据,并从系统 INF 目录中删除相关的 INF 文件。
删除驱动程序包后,不再可在设备上安装它。 若要重新安装,请再次从原始源下载驱动程序包,例如Windows 更新。
从驱动程序存储中手动删除驱动程序包可能会导致不可预知的行为。