Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Ответить
 • Просмотры: 25
Аватара пользователя
BadPointer

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение BadPointer »

И как дальний анализ этих секций поможет лучше определить совместимость? В них же нет ничего на что можно положится.



Учти что Windows принимает решение о совместимости драйверов тоже на основании секции manufacturer и в случае нехватки информации пользуется похожими предположениями о совместимости. Так что создатели драйверов наверняка правильно составили inf файлы.



За время моих наблюдений я не зафиксировал неудачной установки из-за неверного анализа этой секции. DPS действует довольно аккуратно при анализе драйверов, где их совместимость под вопросом, в результате DPS скорее отвергнет сомнительный драйвер вместо того чтобы предложить потенциально несовместимый драйвер.
Аватара пользователя
Lexua

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение Lexua »

Цитата BadPointer:



Учти что Windows принимает решение о совместимости драйверов тоже на основании секции manufacturer и в случае нехватки информации пользуется похожими предположениями о совместимости. Так что создатели драйверов наверняка правильно составили inf файлы.
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal




В данном примере скорее всего происходит следующим образом. SetupApi берет данные из секции manufacturer и на основании оных получает имена секций, содержащих данные об hwid поддерживаемых устройств. Далее если в секции для поддерживаемой ОС присутствует совместимый hwid происходят дальнейшие действия о установке драйвера, если нет, то соответственно отказ в установке. В первом фрагменте секция [AzaliaManufacturerID.NTX86.6.0] содержит только коментарий и интерпретатор это понимает. Хотя конечно можно и не заморачиваться. Чего не сделает DSP или DIA сделает SetupApi Если драйвер не подходит для системы, он его просто не поставит Изображение
Аватара пользователя
BadPointer

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение BadPointer »

Lexua, информации о совместимости индивидуального драйвера с определенной ОС может быть извлечена из названия секции драйвера в inf файле.

Например название секции "SN.NTamd64.6.1" означает что драйвер предназначен для 64-разрядной("NTamd64") Windows 7("6.1").



DPS полностью полагается на эту информацию при подборе драйвера. DIA не так давно стал добавлять эту информацию в свои индексы, но насколько мне известно, DIA использует это чтобы исключать явно неподходящие драйверы, а поиск драйверов осуществляется только по драйверпакам предназначенных для текущей ОС.



DPS таким образом способен находить совместимые драйверы в неожиданных драйверпаках. Например, драйверы под Windows XP X64 часто находятся в драйверпаках для Windows 7 X64.
Аватара пользователя
Lexua

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение Lexua »

Я вспомнил, пересмотрев еще раз структуру БД. Однако как то при такой структуре БД несколько избыточна





PHP код:

Код: Выделить всё

PCIVEN_1039&DEV_0900    DLSS2    netoem.inf    IBM    02/22/2006,2.0.1039.1190    Integrated 10/100 Ethernet Controller

PCIVEN_1039&DEV_0900    DLSS2    netoem.inf    IBM.NT.5.1    02/22/2006,2.0.1039.1190    Integrated 10/100 Ethernet Controller

PCIVEN_1039&DEV_0900    DLSS2    netoem.inf    SIS    02/22/2006,2.0.1039.1190    SiS 900-Based PCI Fast Ethernet Adapter

PCIVEN_1039&DEV_0900    DLSS2    netoem.inf    SIS.NT.5.1    02/22/2006,2.0.1039.1190    SiS 900-Based PCI Fast Ethernet Adapter

PCIVEN_1039&DEV_0900    DLSS2    netoem.inf    SONY    02/22/2006,2.0.1039.1190    SiS 900 PCI Fast Ethernet Adapter

PCIVEN_1039&DEV_0900    DLSS2    netoem.inf    SONY.NT.5.1    02/22/2006,2.0.1039.1190    SiS 900 PCI Fast Ethernet Adapter 






Не находишь? Так было бы лучше





PHP код:

Код: Выделить всё

PCIVEN_1039&DEV_0900    DLSS2    netoem.inf    IBM,SIS,SONY,NT.5.1    02/22/2006,2.0.1039.1190    Integrated 10/100 Ethernet Controller 






Но это уже скорее к romeo91
Аватара пользователя
BadPointer

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение BadPointer »

Если этой информации нет, то DPS делает вывод что драйверы предназначены для XP. Windows 7 и Vista(после сервиспака) требует наличие этой информации в названии секции и она уже не является опциональной как это было в Windows XP.



DPS уже давно использует уже больше полугода(R145) использует этот алгоритм и наблюдения показали правильность такого подхода.
Аватара пользователя
Lexua

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение Lexua »

Цитата BadPointer:



Возможно, но такая структура позволяет DPS быстрее подбирать драйвер за счет использования hash-таблиц. Из-за ограниченности JavaScript, hash-таблицы ускоряют подбор драйвера всего в жалкие 4 раза, хотя могли бы ускорить как минимум в 40 раз.
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal




Возможно, тут к сожалению я уже слабо разбираюсь Изображение
Аватара пользователя
BadPointer

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение BadPointer »

BadPointer,
Цитата BadPointer:



но я тогда подключился к проекту из-за лицензии GPL
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal




почему такая упертость в GPL? не всё закрытое-зло.
Аватара пользователя
Lexua

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение Lexua »

Цитата:



DPS признает драйверы для Vista(6.0) подходящими для Семерки(6.1). Аналогично с Windows 2000(5.0) и Windows XP(5.1).



Все приблизительно понятно, спасибо за разъяснения. Хотя это и не всегда верно. Однако остался не вполне ясным один вопрос: на основании данных из manufacturer DPS делает вывод или же алгоритм более сложен и проводится анализ соответствующих секций? Это последний вопрос, а то слегка наофтопил я тут Изображение
Аватара пользователя
BadPointer

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение BadPointer »

Цитата BadPointer:



Например название секции "SN.NTamd64.6.1" означает что драйвер предназначен для 64-разрядной("NTamd64") Windows 7("6.1").

DPS полностью полагается на эту информацию при подборе драйвера.
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal





Цитата Lexua:



К тому же иногда требуются драйвера, выпущенные до выхода в свет win vista/7 и никаких суфиксов типа NTx86.5.1 нет, что подразумевало "драйвер для всех систем NT".
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal





Цитата BadPointer:



Если этой информации нет, то DPS делает вывод что драйверы предназначены для XP. Windows 7 и Vista(после сервиспака) требует наличие этой информации в названии секции и она уже не является опциональной как это было в Windows XP.
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal




Ну это не всегда правильно...

Вот пример, того же драйвера



Код:

Код: Выделить всё

[Manufacturer]
%MfgName%=Realtek,NTamd64

или



Код:

Код: Выделить всё

[Manufacturer]
%MfgName% = AzaliaManufacturerID, NTamd64

Т.е я так понимаю DPS решит что это для XP x64 ? Но эти драйверы подходят и для Vista и 7. Остальное на что полагаться DPS это имя файла пакета драйверов. Но и имя могут изменить c DP_Audio_wnt6-x64_1007, например на DP_Sound.7z/




Цитата Lexua:



Не находишь? Так было бы лучше



Код:

Код: Выделить всё

PCIVEN_1039&DEV_0900 DLSS2 netoem.inf IBM,SIS,SONY,NT.5.1 02/22/2006,2.0.1039.1190 Integrated 10/100 Ethernet Controller

Но это уже скорее к romeo91
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal




Избыточность не проблема...

Мало кто в базу смотрит - информация служебная. Плюс в текущей версии базы секция manufacturer уже разделена - это сделано при построении базы. И мне не потребуются дополнительные итерации при поиске совместимых драйверов при старте. Возможно это будет удобно, если менять структуры базы данных вообще...


Цитата BadPointer:



GPL способствует свободному обмену кода и опыта и не позволяет безвозвратный уход кода в закрытые проекты.
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal




Но многие проекты видя, что у них не хватает времени, уже после предоставляют свой код.

Да и каждая новая версия вроде может менять свою лицензию...
Аватара пользователя
BadPointer

Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal

Сообщение BadPointer »

И как дальний анализ этих секций поможет лучше определить совместимость? В них же нет ничего на что можно положится.



Учти что Windows принимает решение о совместимости драйверов тоже на основании секции manufacturer и в случае нехватки информации пользуется похожими предположениями о совместимости. Так что создатели драйверов наверняка правильно составили inf файлы.



За время моих наблюдений я не зафиксировал неудачной установки из-за неверного анализа этой секции. DPS действует довольно аккуратно при анализе драйверов, где их совместимость под вопросом, в результате DPS скорее отвергнет сомнительный драйвер вместо того чтобы предложить потенциально несовместимый драйвер.
Ответить

Вернуться в «Наборы обновлений для Windows XP/2003/Windows 7»