本文提供了在 Windows 10 更新后意外删除 USB 设备驱动程序的问题的解决方法。
适用于:Windows 10 - 所有版本
原始 KB 数: 4098563
现象
假设出现了下面这种情景:
- 你开发了一个适用于 Windows 10 长期服务分支(LTSB)的应用程序。
- 应用程序依赖于自定义或第三方通用串行总线(USB)设备驱动程序。
- 应用程序逻辑需要在 INF 缓存中找到这些驱动程序。 因此,会自动识别设备,而无需在每个连接上指定驱动程序。
- 安装一些 Windows 更新。
在此方案中,驱动程序将从 INF 缓存中静默删除。 因此,应用程序不能按预期使用驱动程序。
此外,当方案发生时,进程监视器日志会显示以下链:
11:55:21.8170826 svchost.exe 868 2424 进程创建 C:\Program Files\rempl\remsh.exe SUCCESS PID: 3076,
命令行:“C:\Program Files\rempl\remsh.exe” C:\Windows\system32\svchost.exe -k netsvcs 11:56:47.3634292 remsh.exe 3076 4152 Process Create C:\Windows\system32\rundll32.exe SUCCESS PID: 1248,
命令行:C:\Windows\system32\rundll32.exe C:\Windows\system32\pnpclean.dll,RunDLL_PnpClean /DEVICES /DRIVERS /MAXCLEAN “C:\Program Files\rempl\remsh.exe”
11:56:47.3634539 rundll32.exe 1248 4152 进程启动成功父 PID:3076,
命令行:C:\Windows\system32\rundll32.exe C:\Windows\system32\pnpclean.dll,RunDLL_PnpClean /DEVICES /DRIVERS /MAXCLEAN
注意
- 父svchost.exe进程托管任务计划程序服务。
- 在此方案中运行的特定计划任务位于以下路径中:
任务计划程序(本地)/任务计划程序库/Microsoft/Windows/重新演示
原因
出现此问题的原因是 Windows 在 KB 4023057 的Windows 更新安装过程中收到更新可靠性工具。 该工具旨在在其修正过程中清理 INF 驱动程序缓存。
解决方法
Windows 更新可靠性工具的适用性规则已得到改进。 此外,此工具的最新版本(10.0.14393.10020 或更高版本)不应导致此问题。
解决方法是,可以完全阻止更新可靠性工具运行。 为此,请运行以下命令:
takeown /f "C:\Program Files\rempl" /r /d y
icacls "C:\Program Files\rempl" /grant administrators:F /t /q
icacls "C:\Program Files\rempl" /deny system:F /t /q
注意
Windows 更新可靠性工具不会发布到 WSUS 服务器。
参考
有关详细信息,请参阅以下文章:
更新到 Windows 10 版本 1507、1511、1607 和 1703,以获取更新可靠性:2018 年 3 月 22 日
Windows 即服务概述
数据收集
如果需要 Microsoft 支持方面的帮助,建议按照使用 TSS 针对与部署相关的问题收集信息中所述的步骤收集信息。