Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как установить устройство, драйвер через .ΒΑΤ‎ в Win 7 (http://forum.oszone.net/showthread.php?t=236413)

fly380 11-06-2012 00:41 1932068

Как установить устройство, драйвер через .ΒΑΤ‎ в Win 7
 
Доброго времени суток! Подскажите как можно установить драйвер USB устройства (телефон на андроид ОС) в windows 7?
Структура:
  1. adb_driver_htc
    1. amd64 - файлы WdfCoInstaller01007.dll, WinUSBCoInstaller.dll, WUDFUpdate_01007.dll
    2. i386 - файлы WdfCoInstaller01007.dll, WinUSBCoInstaller.dll, WUDFUpdate_01007.dll
    3. android_winusb.inf
    4. androidwinusb86.cat
    5. androidwinusba64.cat
файл android_winusb.inf был немного корявый и драйвер ставился только через диспетчер устройст с диска. Немного его выправил (на сколько ума хватило) теперь ставится через диспетчер устройств из выбраной дириктории. Но при этом жалуется на отсутствие подписи (не удалось проверить издателя этого драйвера). Весьма геморороидально ставить его через диспетчер устройств (драйвер необходим для коректной работы телефона при прошивке через adb), хочу сделать автоустановку для юзеров у которых руки совсем не отуда. Решил попробовать через бат:
Код:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 C:\adb_driver_htc\android_winusb.inf
не получается (команда выполняется без ошибки но драйвер в системе не появляется). Подскажите плиз как можно это осуществить и возможно ли?

Petya V4sechkin 11-06-2012 07:07 1932106

fly380, воспользуйтесь фильтрами по названию темы по драйвер.



Результат

fly380 11-06-2012 07:24 1932108

Petya V4sechkin, я умею пользоваться поиском и гугл тоже у меня есть. Но ответ не нашол иначе бы не создавал тему.
И так команда:
Код:

devcon install C:\adb_driver_htc\android_winusb.inf "USB\VID_0BB4&PID_0C97&MI_01"
не проходит говорит что devcon не является командой
Код:

rundll32.exe setupapi.dll InstallHinfSection DefaultInstall 128 C:\adb_driver_htc\android_winusb.inf
не поможет так как нет секции DefaultInstall и писать я ее не умею.
Так выглядит мой *.inf файл
читать дальше »
[code]
Код:

;
; Android WinUsb driver installation.
;
[Version]
Signature          = "$Windows NT$"
Class              = AndroidUsbDeviceClass
ClassGuid          = {3F966BD9-FA04-4ec5-991C-D326973B5128}
Provider            = %ProviderName%
DriverVer          = 12/06/2010,4.0.0000.00000

[ClassInstall32]
Addreg = AndroidWinUsbClassReg

[AndroidWinUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1

[Manufacturer]
%Google Inc% = Google, NTx86, NTamd64

[Google.NTx86]
;
;HTC Legend
%SingleAdbInterface%        =USB_Install, USB\VID_0BB4&PID_0C97&MI_01
%SingleBootLoaderInterface%  =USB_Install, USB\VID_0BB4&PID_0FFF
%CompositeAdbInterface%      =USB_Install, USB\VID_0BB4&PID_0C01
[Google.NTamd64]
;
;HTC Legend
%SingleAdbInterface%        =USB_Install, USB\VID_0BB4&PID_0C97&MI_01
%SingleBootLoaderInterface%  =USB_Install, USB\VID_0BB4&PID_0FFF
%CompositeAdbInterface%      =USB_Install, USB\VID_0BB4&PID_0C01
[USB_Install]
Include = winusb.inf
Needs  = WINUSB.NT

[USB_Install.Services]
Include    = winusb.inf
AddService  = WinUSB,0x00000002,WinUSB_ServiceInstall

[WinUSB_ServiceInstall]
DisplayName    = %WinUSB_SvcDesc%
ServiceType    = 1
StartType      = 3
ErrorControl    = 1
ServiceBinary  = %12%\WinUSB.sys

[USB_Install.Wdf]
KmdfService = WINUSB, WinUSB_Install

[WinUSB_Install]
KmdfLibraryVersion  = 1.7

[USB_Install.HW]
AddReg  = Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"

[USB_Install.CoInstallers]
AddReg    = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01007.dll,"WinUSBCoInstaller.dll"

[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01007.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64

[SourceDisksFiles.x86]
WinUSBCoInstaller.dll  = 1
WdfCoInstaller01007.dll = 1

[SourceDisksFiles.amd64]
WinUSBCoInstaller.dll  = 2
WdfCoInstaller01007.dll = 2

[Strings]
ProviderName                = "Google, Inc."
SingleAdbInterface          = "Android ADB Interface"
CompositeAdbInterface      = "Android Composite ADB Interface"
SingleBootLoaderInterface  = "Android Bootloader Interface"
WinUSB_SvcDesc              = "Android USB Driver"
DISK_NAME                  = "Android WinUsb installation disk"
ClassName                  = "Android Phone"


Petya V4sechkin 11-06-2012 07:30 1932109

fly380, чего тут искать-то?
Взять Devcon.exe версии 6.1.7600.16385 (совместимый с Windows 7) и вперед.

Цитата:

говорит что devcon не является командой
Скачайте

fly380 11-06-2012 07:53 1932113

Petya V4sechkin, стоит у меня Windows Kits и соответственно и Devcon.exe. Может его просто в другую директорию нужно? И еще без него никак нельзя сделать выше описное, просто хочу облегчить жизнь тем кто совсем не понимает как драйвер поставить если нет *.exe

fly380 11-06-2012 08:13 1932117

Petya V4sechkin, C Devcon.exe разобрался спасибо! :) Есть нюансы, первое он как то странно ставит драйвер

и еще можна ли исбежать вывода сообщения о отсутствии подписи драйвера? И устройство работает в двух режимах
Android ADB Interface и Android Bootloader Interface для каждого свой ID USB\VID_0BB4&PID_0C97&MI_01 и USB\VID_0BB4&PID_0FFF можно это выполнить за один раз?
Если пушу две строки
Код:

devcon install C:\adb_driver_htc\android_winusb.inf "USB\VID_0BB4&PID_0C97&MI_01"
devcon install C:\adb_driver_htc\android_winusb.inf "USB\VID_0BB4&PID_0FFF"

инсталирует оба устройства, но с ними ставит еще два (криво поставленых).
Плиз помогите уже доконца понять что к чему.
Да и пока не ответили, для каждой ОС нужен свой Devcon.exe (не имея в виду разрядность) win7 winXP

Petya V4sechkin 11-06-2012 09:11 1932129

Цитата:

Цитата fly380
Может его просто в другую директорию нужно?

Как насчет положить рядом с батником?
По ссылке в предыдущем сообщении два Devcon.exe (для 32-битных и 64-битных ОС). Чтобы выбрать автоматически:
Цитата:

Цитата fly380
он как то странно ставит драйвер

Что выдает при выполнении?

Цитата:

Цитата fly380
устройство работает в двух режимах
можно это выполнить за один раз?

Для установки драйвера устройство должно быть в соответствующем режиме (чтобы его Hwid был в системе).

Цитата:

Цитата Неадекватный
Раньше у меня с установкой драйвера проблем не было

А сейчас у вас какая-то проблема?

fly380 11-06-2012 09:38 1932139

Цитата:

Цитата Petya V4sechkin
Что выдает при выполнении? »

Да нет он устанавливается, вродибы даже без ошибок, но создает непонятный дубликат.

Цитата:

Цитата Petya V4sechkin
Для установки драйвера устройство должно быть в соответствующем режиме (чтобы его Hwid был в системе). »

Хм если пишу сразу две строки он ставит драйвер для обоих режимов не зависимо в каком включен (да и без подключенного устройства ставит), но опять же делает дубликаты.

Не пойму как применть это условие
Код:

If "%PROCESSOR_ARCHITECTURE%"=="x86" (
  Start /Wait ...x86.exe
) Else (
  Start /Wait ...x64.exe
)

Относительно строки
Код:

devcon install C:\adb_driver_htc\android_winusb.inf "USB\VID_0BB4&PID_0C97&MI_01"
чет не пойму.

Petya V4sechkin 11-06-2012 10:02 1932150

Цитата:

Цитата fly380
Да нет он устанавливается

Что в командной строке выдает?
Добавьте в конец батника Pause и смотрите.

Цитата:

Цитата fly380
пишу сразу две строки

Не надо.

fly380 11-06-2012 10:11 1932156

Цитата:

Цитата Petya V4sechkin
Что в командной строке выдает? »

Код:

Drivers installed successfully.
При этом если запустить созданый *.bat с командой
Код:

devcon install android_winusb.inf "USB\VID_0BB4&PID_0C97&MI_01"
и на вопрос системы о установке не подписаного драйвера отменить установку то создается неизвестное устройство. Если установку продолжить то первым создается непонятный двойник а после ставится драйвер на само устройство.
1. помогите решить вопрос с дубликатами (ставит дубликаты для обоих режимов).
2. объясните как правильно написать правило проверки разрядности ОС для команды
Код:

devcon install android_winusb.inf "USB\VID_0BB4&PID_0C97&MI_01"
используя для разных версий devcon.ехе папки х86 и х64?

Petya V4sechkin 11-06-2012 18:11 1932446

Цитата:

Цитата fly380
помогите решить вопрос с дубликатами (ставит дубликаты для обоих режимов)

Может быть, ставит из обеих секций? Google.NTx86 и Google.NTamd64.

fly380 11-06-2012 18:41 1932459

Petya V4sechkin, да нет я уже пробовал удалять секцию оставляя одну и пробовал удалять из секции
Код:

%SingleBootLoaderInterface% =USB_Install, USB\VID_0BB4&PID_0FFF
оставляя только
Код:

%SingleAdbInterface% =USB_Install, USB\VID_0BB4&PID_0C97&MI_01
все равно делает дулбли. Как только батник запускаю сразу появляется дубль(((

fly380 12-06-2012 17:19 1932975

Люди кто знает почему создаются двойники драйвера при выполнении команды
Код:

devcon install android_winusb.inf "USB\VID_0BB4&PID_0C97&MI_01"
на всех ОС win7x86, win7x64, winXPx86

fly380 13-06-2012 03:12 1933233

Решил проблему следующим орразом:
Создаваемый двойник остается в списке устройств даже если само устройство отключено. Для его удаления я использовал команду
Цитата:

devcon remove "USB\VID_0BB4&PID_0C97&MI_01"
она удаляет устройство из диспетчера устройств но не удаляет драйвер из системы. Соответственно при бональном отключении и повторном включении устройства драйвер успешно поднимается, но при этом нам глаза не мозолит его двойник.

Cr00t 11-03-2020 13:26 2912790

Подскажите, как установить драйвера для устройст PCI\VEN..., которые всегда одни и те же для одинаковых конфигураций техники через командную строку, если вся куча драйверов лежит E:\Drivers в подпапках, чтобы для каждого устанавливаемого драйвера установщик драйвера бегал по подпапкам и искал драйвер? в pnputil не нашел ответа

DJ Mogarych 11-03-2020 13:56 2912794

Код:

pnputil.exe /add-driver  E:\Drivers\*.inf /subdirs /install /reboot
https://flamingkeys.com/install-wind...ng-powershell/

Cr00t 11-03-2020 15:00 2912806

DJ Mogarych, а можно как-то указать конкретное устройство по его коду в диспетчере устройств, для которого надо найти драйвер?

DJ Mogarych 11-03-2020 16:41 2912824

Обычно для разливки одинаковых конфигураций техники используется WDS (Windows Deployment Services), туда загружаются драйверы, и компьютер устанавливает какие ему нужно во время установки системы.

К тому же, насколько я понимаю, Windows при перезагрузке после добавления драйверов через pnputil сама установит устройства, т. к. драйверы у неё уже будут.

Cr00t 12-03-2020 10:06 2912892

DJ Mogarych, Мне просто интересен был сам процесс конкретной установки драйвера через cmd, если это вообще возможно. В моём случае есть 5-6 стандартных конфигураций, но так вышло, что windows 10 со всем-всем что требуется легче с usb3.0 флешки разворачивать, чем из образа, т.к. это быстрее получается и к сети не привязан.


Время: 15:24.

Время: 15:24.
© OSzone.net 2001-