Автоматическая установка com0com (тестовый подписанный com0com.sys отображается как зарегистрированный в проводнике, но не в диспетчере устройств)
Моя цель - установить последовательный драйвер com0com без вызова мастера установки на WinXP и Win2000.
Я работаю на WinXP x86. Я следовал инструкциям по подписанию теста для драйвера com0com, заменив amd64 на i386 в строке 60.
Я добавил свой тестовый сертификат как корневой и доверенный провайдер, используя следующие команды:
certmgr /add com0com.cer /r localMachine root
certmgr /add com0com.cer /r localMachine trustedprovider
И проверил, что он указан в обоих местах.
Затем я запускаю только что созданный файл setup.exe. Это устанавливает подписанный файл com0com.sys в C:\WINDOWS\system32\DRIVERS и устанавливает пару виртуальных последовательных портов и шину между ними. Используя проводник, я захожу в каталог DRIVERS, щелкаю правой кнопкой мыши по файлу com0com.sys и проверяю, есть ли у него "тестовая" цифровая подпись. Затем я захожу в диспетчер устройств, открываю запись "эмуляторы последовательного порта com0com", выбираю запись и делаю "Свойства" -> "Драйвер" и вижу, что в ней написано "Без цифровой подписи". Я нажимаю подробности для драйвера и вижу, что он ссылается на файл драйвера com0com.sys, который, как я только что подтвердил, подписан.
Я нашел, что может быть связанной проблемой, но я не уверен. WinXP требует подписи WHQL? Если да, то объясняет ли это, почему файл com0com.sys подписан, а записи драйвера устройства говорят, что они не подписаны?
1 ответ
Да, когда речь идет о драйверах, Windows 2000 и Windows XP имеют в виду только одну определенную подпись - подпись WHQL. Без применения драйвера com0com через процесс WHQL он просто не будет считаться подписанным.
Инструкции в Building.txt относительно подписи говорят о различном "ограничении", наложенном 64-разрядными выпусками Windows Vista и выше - они просто не будут загружать драйверы, которые вообще не подписаны - но это не связано с твоя проблема.