В нашем последнем пользовательском драйвере WHQL есть неправильная запись для одного из наших будущих продуктов. Предстоящий продукт — составное устройство, и в нашем WHQL-драйвере есть запись, которая соответствует идентификатору составного устройства, а не отдельных интерфейсов.
Когда новое устройство подключается к машинам с драйвером WHQL, устройство привязывается к нашему драйверу, а не к универсальному родительскому драйверу Windows (usbccgp.sys). Это предотвращает отображение интерфейсов в устройстве.
Мы могли бы исправить это вручную, удалив драйвер устройства и связав его с драйвером usbccgp.sys. В Vista и более поздних версиях мы могли удалить двоичные файлы драйвера во время удаления. Но прямого способа полностью удалить бинарники драйверов в XP нет. Это очень затрудняет чистое удаление драйвера.
Можно ли это исправить с помощью деинсталлятора? Каков наилучший способ исправить поврежденную машину автоматически?