未连接硬件时卸载Windows驱动程序

Jul*_*n M 5 windows hardware drivers uninstall

我正在开发一个Windows C++应用程序,用于驱动插在USB上的电机控制器.该控制器依赖于Ftdibus驱动程序,它在我的电脑上运行良好.然而,在测试计算机上它曾经工作但是因为我在插入控制器后立即搞砸了Ftdi驱动程序,我得到了一个BSoD(提到Ftdibus).我想清理驱动程序,但是:

  • 它们没有出现在Windows"卸载程序"中
  • 我无法右键单击设备管理器中的控制器并选择"卸载",因为我无法插入控制器(BSoD)
  • 我尝试了nirsoft 工具,它有一个卸载设备的选项,但它不起作用

我很无能,我怎么能清理那个乱七八糟的东西?

PS:如果有人有关于驱动程序如何绑定USB端口号的文档,我会喜欢阅读这个主题

sno*_*one 11

如果这是Vista及更高版本,则删除驱动程序包的受支持方法是使用pnputil:

http://msdn.microsoft.com/en-us/library/windows/hardware/ff550428(v=vs.85).aspx#deleting_a_driver_package_from_the_driver_store

只是删除服务是一个坏主意,这不是安装驱动程序放入注册表的唯一事情.

我错过了关于Windows如何将驱动程序绑定到USB设备的帖子的第二部分.这里有一个很好的描述:

http://blogs.msdn.com/b/oldnewthing/archive/2004/11/10/255047.aspx

如果您需要更多详细信息,请随时与我联系(我专注于Windows驱动程序为生活:))

  • pnputil -f -d做到了 (2认同)

Sha*_*ell 6

我的做法是以下三种方式之一:

  1. 进入设备管理器,选择“查看”菜单并选择“显示隐藏的设备”。找到您的设备描述并选择“卸载”菜单选项。[简单]

  2. 您可以使用服务控制管理器命令行“ SC ”从注册表中删除设备驱动程序。您需要知道已安装的驱动程序名称。[中等的]

  3. 手动删除注册表中的驱动程序设置。使用 regedit,您可以删除驱动程序的注册表项。驱动程序注册表设置位于“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services”下。找到驱动程序名称键并将其删除。[难的]