Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal
-
BadPointer
Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal
И как дальний анализ этих секций поможет лучше определить совместимость? В них же нет ничего на что можно положится.
Учти что Windows принимает решение о совместимости драйверов тоже на основании секции manufacturer и в случае нехватки информации пользуется похожими предположениями о совместимости. Так что создатели драйверов наверняка правильно составили inf файлы.
За время моих наблюдений я не зафиксировал неудачной установки из-за неверного анализа этой секции. DPS действует довольно аккуратно при анализе драйверов, где их совместимость под вопросом, в результате DPS скорее отвергнет сомнительный драйвер вместо того чтобы предложить потенциально несовместимый драйвер.
Учти что Windows принимает решение о совместимости драйверов тоже на основании секции manufacturer и в случае нехватки информации пользуется похожими предположениями о совместимости. Так что создатели драйверов наверняка правильно составили inf файлы.
За время моих наблюдений я не зафиксировал неудачной установки из-за неверного анализа этой секции. DPS действует довольно аккуратно при анализе драйверов, где их совместимость под вопросом, в результате DPS скорее отвергнет сомнительный драйвер вместо того чтобы предложить потенциально несовместимый драйвер.
-
Lexua
Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal
Цитата BadPointer:
Учти что Windows принимает решение о совместимости драйверов тоже на основании секции manufacturer и в случае нехватки информации пользуется похожими предположениями о совместимости. Так что создатели драйверов наверняка правильно составили inf файлы.
В данном примере скорее всего происходит следующим образом. SetupApi берет данные из секции manufacturer и на основании оных получает имена секций, содержащих данные об hwid поддерживаемых устройств. Далее если в секции для поддерживаемой ОС присутствует совместимый hwid происходят дальнейшие действия о установке драйвера, если нет, то соответственно отказ в установке. В первом фрагменте секция [AzaliaManufacturerID.NTX86.6.0] содержит только коментарий и интерпретатор это понимает. Хотя конечно можно и не заморачиваться. Чего не сделает DSP или DIA сделает SetupApi Если драйвер не подходит для системы, он его просто не поставит
Учти что 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
Lexua, информации о совместимости индивидуального драйвера с определенной ОС может быть извлечена из названия секции драйвера в inf файле.
Например название секции "SN.NTamd64.6.1" означает что драйвер предназначен для 64-разрядной("NTamd64") Windows 7("6.1").
DPS полностью полагается на эту информацию при подборе драйвера. DIA не так давно стал добавлять эту информацию в свои индексы, но насколько мне известно, DIA использует это чтобы исключать явно неподходящие драйверы, а поиск драйверов осуществляется только по драйверпакам предназначенных для текущей ОС.
DPS таким образом способен находить совместимые драйверы в неожиданных драйверпаках. Например, драйверы под Windows XP X64 часто находятся в драйверпаках для Windows 7 X64.
Например название секции "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
Я вспомнил, пересмотрев еще раз структуру БД. Однако как то при такой структуре БД несколько избыточна
PHP код:
Не находишь? Так было бы лучше
PHP код:
Но это уже скорее к romeo91
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
Если этой информации нет, то DPS делает вывод что драйверы предназначены для XP. Windows 7 и Vista(после сервиспака) требует наличие этой информации в названии секции и она уже не является опциональной как это было в Windows XP.
DPS уже давно использует уже больше полугода(R145) использует этот алгоритм и наблюдения показали правильность такого подхода.
DPS уже давно использует уже больше полугода(R145) использует этот алгоритм и наблюдения показали правильность такого подхода.
-
Lexua
Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal
Цитата BadPointer:
Возможно, но такая структура позволяет DPS быстрее подбирать драйвер за счет использования hash-таблиц. Из-за ограниченности JavaScript, hash-таблицы ускоряют подбор драйвера всего в жалкие 4 раза, хотя могли бы ускорить как минимум в 40 раз.
Возможно, тут к сожалению я уже слабо разбираюсь
Возможно, но такая структура позволяет 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:
но я тогда подключился к проекту из-за лицензии GPL
почему такая упертость в GPL? не всё закрытое-зло.
Цитата BadPointer:
но я тогда подключился к проекту из-за лицензии GPL
Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal
почему такая упертость в GPL? не всё закрытое-зло.
-
Lexua
Re: Утилиты - Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal
Цитата:
DPS признает драйверы для Vista(6.0) подходящими для Семерки(6.1). Аналогично с Windows 2000(5.0) и Windows XP(5.1).
Все приблизительно понятно, спасибо за разъяснения. Хотя это и не всегда верно. Однако остался не вполне ясным один вопрос: на основании данных из manufacturer DPS делает вывод или же алгоритм более сложен и проводится анализ соответствующих секций? Это последний вопрос, а то слегка наофтопил я тут
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:
Например название секции "SN.NTamd64.6.1" означает что драйвер предназначен для 64-разрядной("NTamd64") Windows 7("6.1").
DPS полностью полагается на эту информацию при подборе драйвера.
Цитата Lexua:
К тому же иногда требуются драйвера, выпущенные до выхода в свет win vista/7 и никаких суфиксов типа NTx86.5.1 нет, что подразумевало "драйвер для всех систем NT".
Цитата BadPointer:
Если этой информации нет, то DPS делает вывод что драйверы предназначены для XP. Windows 7 и Vista(после сервиспака) требует наличие этой информации в названии секции и она уже не является опциональной как это было в Windows XP.
Ну это не всегда правильно...
Вот пример, того же драйвера
Код:
или
Код:
Т.е я так понимаю DPS решит что это для XP x64 ? Но эти драйверы подходят и для Vista и 7. Остальное на что полагаться DPS это имя файла пакета драйверов. Но и имя могут изменить c DP_Audio_wnt6-x64_1007, например на DP_Sound.7z/
Цитата Lexua:
Не находишь? Так было бы лучше
Код:
Но это уже скорее к romeo91
Избыточность не проблема...
Мало кто в базу смотрит - информация служебная. Плюс в текущей версии базы секция manufacturer уже разделена - это сделано при построении базы. И мне не потребуются дополнительные итерации при поиске совместимых драйверов при старте. Возможно это будет удобно, если менять структуры базы данных вообще...
Цитата BadPointer:
GPL способствует свободному обмену кода и опыта и не позволяет безвозвратный уход кода в закрытые проекты.
Но многие проекты видя, что у них не хватает времени, уже после предоставляют свой код.
Да и каждая новая версия вроде может менять свою лицензию...
Например название секции "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
И как дальний анализ этих секций поможет лучше определить совместимость? В них же нет ничего на что можно положится.
Учти что Windows принимает решение о совместимости драйверов тоже на основании секции manufacturer и в случае нехватки информации пользуется похожими предположениями о совместимости. Так что создатели драйверов наверняка правильно составили inf файлы.
За время моих наблюдений я не зафиксировал неудачной установки из-за неверного анализа этой секции. DPS действует довольно аккуратно при анализе драйверов, где их совместимость под вопросом, в результате DPS скорее отвергнет сомнительный драйвер вместо того чтобы предложить потенциально несовместимый драйвер.
Учти что Windows принимает решение о совместимости драйверов тоже на основании секции manufacturer и в случае нехватки информации пользуется похожими предположениями о совместимости. Так что создатели драйверов наверняка правильно составили inf файлы.
За время моих наблюдений я не зафиксировал неудачной установки из-за неверного анализа этой секции. DPS действует довольно аккуратно при анализе драйверов, где их совместимость под вопросом, в результате DPS скорее отвергнет сомнительный драйвер вместо того чтобы предложить потенциально несовместимый драйвер.