Имеется 64-разрядный драйвер, подписаны .sys и .cat, в Win7 x64 ставится нормально, только по причине отсутствия подписи WHQL просит подтверждение установки драйвера. Ставлю его в Win8 x64 — подтверждение просит только на запуск инсталлятора, как "программы, собирающейся вносить изменения". Собственно UpdateDriverForPlugAndPlayDevices отрабатывает втихую, драйвер устанавливается и работает.
Удаляю из каталога установки .cat-файл (подписанный!) — ничего не меняется. Тогда комментирую команду CatalogFile= в .inf — и тут-то бдительный установщик и вываливается с ошибкой SPAPI_E_NO_CATALOG_FOR_OEM_INF.
Что за странная такая логика? Куда делись предупреждения об отсутствии подписи WHQL, и почему при отсутствии .cat-файла установка проходит, а при отсутствии его упоминания в .inf-файле — не проходит?
В Local Security Policy про неподписанные драйверы вообще ничего нет.