Проблема с установкой драйвера в Win7 - PullRequest
1 голос
/ 18 ноября 2010

MSI создан с помощью installshield.Когда я устанавливаю этот MSI в Windows XP, устройство определяется.Файл .sys создается в каталоге C: \ Windows \ system32 \ drivers, а C: \ Windows \ system32 \ driverstore также имеет соответствующие папки устройств.Но тот же MSI не может установить драйверы на Window7.Другими словами, ни устройство не обнаружено, ни файл .sys не создан в каталоге C: \ Windows \ system32 \ drivers, а C: \ Windows \ system32 \ driverstore также не имеет связанных папок устройства.хотел бы знать, что не так с MSI.Какие настройки необходимы MSI для установки драйвера ядра в Windows7

Заранее благодарим за любую полезную информацию.

Ответы [ 3 ]

1 голос
/ 25 мая 2011

Если программа установки построена для 32-битной платформы. он не может установить 64-битные драйверы под 32-битный процесс. Это может быть причиной вашей проблемы.

Чтобы обойти эту проблему, вы можете создать настраиваемое действие, и в зависимости от платформы Windows настраиваемое действие будет вызывать DPInst.exe для 32-разрядной или 64-разрядной установки драйверов,

Эта статья Установка драйвера для 32-разрядных и 64-разрядных платформ содержит пример кода использования 32-разрядной программы установки для установки 64-разрядного пакета драйверов на 64-разрядной платформе

1 голос
/ 25 мая 2011

Я думаю, что InstallShield (современные) поставляются с интеграцией для DIFx (среда установки драйвера), которая является частью WDK и поставляется в виде модулей слияния, а также DLL. В любом случае, вы можете использовать стандартные инструменты для интеграции модулей слияния, даже если InstallShield не включает прямую поддержку.

Однако "подписи" недостаточно . Вы должны иметь драйвер, так как Vista подписана особым образом, который включает корневые сертификаты (передавая /ac при выполнении signtool sign) как часть подписи (в начале процесса загрузки нет доступного хранилища сертификатов). Кроме того, во время установки Setup API фактически собирается проверить, что файл CAT, принадлежащий драйверу, был кросс-подписан MS (через WHQL). У вас есть CAT-файл и соответствующий INF-файл, а CAT-файл был кросс-подписан, верно?

Если у вас есть signtool (Windows SDK или WDK), используйте

signtool verify /kp /v <filename>

для проверки подписи (/v для многословия, вы можете использовать /q, если вас интересует только код возврата).

Если эти проверки не пройдены, это уже одна из основных причин.

Выполните эту проверку для файлов CAT и SYS.

0 голосов
/ 05 декабря 2010

Проверьте это программное обеспечение.Он автоматически загрузит драйверы для вас:

http://softwaresforyou.blogspot.com/2010/12/drivers-finderdownloader.html

...