Здравствуйте, dachny,
Неплохой скрипт, полностью повторяющий некоторые рекомендации из уже упоминавшейся статьи "Writing a Device Installation Application": cчитая, что устройство уже вставлено в систему, попытаться пересканировать устройства и переинсталировать драйвер с помощью функции UpdateDriverForPlugAndPlayDevices. Если это не удалось, считать, что железяки нет в еще в системе, и предустановить драйвер с помощью функции SetupCopyOEMInf. Добавив еще корректную обработку ошибок, проверку In-Progress Installations, сутацию Reinstalling an Unplugged Device — вообще будет красота
Я же описывал проблемы с использованием функций инсталяции устройства более низкого уровня (когда devnode создается "руками"), как описано в исходных кодах devcon.
С уважением,
Геннадий Майко.