Установите драйвер с помощью InstallShield
Мне нужно создать проект InstallShield 12, который устанавливает драйвер на WinXP или выше. Как я могу сделать это с помощью InstallShield 12?
3 ответа
Обычно мы пишем DLL (на C или C++), которая использует вызовы SetupAPI (SetupDiXXX и UpdateDriverForPlugAndPlayDevices) для выполнения всей работы по установке.
И затем, пусть скрипт установщика (IS, Inno, Wise) делает вызовы в эту DLL.
В 2012 Spring Pro (я не могу говорить с более ранними версиями), вы можете просто создать новую функцию с нужными компонентами (примечание: использовать один компонент для 64-битной стороны и другой компонент для 32-битной стороны, оба под той же функцией). Для каждого из компонентов драйвера перейдите в раздел "Дополнительные параметры" в элементе управления древовидной структуры под компонентом, затем в параметры драйвера устройства и на вкладке "Общие" установите флажок "Этот компонент включает в себя драйвер устройства". В разделе "Runtime Options" с использованием DIFx 2.10 установите любые желаемые биты конфигурации, например "Всегда перезаписывать любой существующий драйвер устройства", а затем в нижней части вкладки "Общие" обязательно установите соответствующую архитектуру / битрейт. Тогда просто дайте ему установить - InstallShield plus DIFx 2.10 позаботится обо всем автоматически.
По крайней мере, это отлично работало с нашим пользовательским подписанным драйвером на основе WinUSB. Было намного сложнее понять это, чем на самом деле делать это.
Я простой способ, чтобы обернуть dpinst
Используйте флаги командной строки, чтобы отключить графический интерфейс, и прочитайте код возврата, чтобы выяснить, правильно ли выполнялась установка.