#windows-8 #driver #inf
#windows-8 #драйвер #inf
Вопрос:
Я использую файл BAT для выполнения следующей команды для установки моего INF-файла на другой компьютер:
devcon dp_add "linux-cdc-acm.inf"
Он отлично работает с Win7 x64, но не работает в Win8 x64. Сообщение об ошибке:
Adding the specified driver package to machine failed. devcon failed.
Я предполагаю, что INF-файл правильный, поскольку я могу установить его вручную через DeviceManager, и в [%windir% inf setupapi.dev.log] нет новой записи. Есть ли другой способ установить INF-файлы в хранилище драйверов для Win8?
И еще, действительно ли использование devcon является обычным и правильным способом установки INF-файлов на клиентские компьютеры?
Редактировать:
Я получил исходный код devcon из WDK, отладил его и обнаружил, что получаю [ERROR_ACCESS_DENIED] . Это сбой из-за настроек в Win8? Какие способы преодолеть это?
Ответ №1:
Кажется, что пакетный файл или devcon просто нужно было «запускать от имени администратора» в win8.
также потребовалось тестовое подписание файла каталога для INF-файла.
Комментарии:
1. Как вы получили каталог для этого .inf-файла? Я изучал возможность создания установщика .msi для драйвера linux-cdc-acm.inf, вы пробовали что-нибудь еще?
2. @Aaron, если вы установили WDK, должен быть [Inf2Cat.exe ] двоичный файл там. Я использовал это для создания своего файла каталога. См. Здесь ( msdn.microsoft.com/en-us/library/windows/hardware /… ) для получения дополнительной информации.
3. Я попробовал inf2cat.exe , но он жаловался на то, что не нашел файлы, на которые были ссылки в inf-файле, такие как usbser.sys который находится в каталоге Windows. Вы скопировали эти файлы в каталог с .inf или каким-либо образом изменили .inf, чтобы указать на них? Я не хочу в конечном итоге распространять эти файлы вместе с драйвером..
Ответ №2:
В качестве альтернативы для дальнейшего использования я смог использовать WiX и DIFxApp для создания установщика .msi, который устанавливает драйверы устройств linux-cdc-acm.inf и linux.inf (RNDIS). https://github.com/ambrice/linux-gadget
Пока не удалось выяснить, как создать 32-разрядную версию из моего 64-разрядного блока разработки, хотя в нем нет двоичных файлов..