Показать полную графическую версию : Помощник установки драйверов (DIA - Drivers Installer Assistant) v.6.4.28 PreFinal
Добрый день, друзья. Прошу вас протестировать новую версию DIA. Пока версия только для тестирования, так как не исключены ошибки. Прошу обо всех замечаниях писать на форум, или лично на почту
Вот кратко список, текущих изменений. Несмотря на не очень большой список, это результат 2-х месячной доработки.
Версия 5.12.30 Beta (30.12.2013)
Изменения в структуре программы
Базу данных необходимо пересоздать, программа сама скажет о несовместимости БД
Изменен алгоритм сортировки БД по HWID
Для ускорения запуска изменен модуль подбора драйверов, для этого в программе при индексации, создается дополнительный файл %driverpackName%.hwid
Чистота базы драйверов - убраны возможные ошибки в анализе inf-файлов
Изменен алгоритм поиска драйверов по HWID в БД
В результате вышеуказанных изменений, загрузка программы происходит ~ 2 раза быстрее
Файл devcon_c.cmd более не используется при запуске программы, теперь происходит прямой вызов devcon.exe с параметрами.
Исправлена ошибка закрытия программы, если не создавался файл hwids.txt - результат работы программы devcon.exe. Программа продолжала загружаться и выдавала множество ошибок
Исправлена ошибка запуска на windows 2000, причина была в функции запуска внешних приложений
Изменения в GUI
Реализована поддержка Юникода почти для всех элементы управления
Шрифт по умолчанию для подсказок Lucida Console, для всех остальных элементов Tahoma. Если иного не прописано в настройках программы.
При переключении в режим индексации, если нет непроиндексированных пакетов, то режим выделения устанавливается во "Все"
Исправлено несколько мелких ошибок - несоздание папки drivers - и т.д
Убраны все параметры создания базы драйверов, теперь создание безусловное
Исправлена функция подсчета времени, некорректно расчитывалось время в миллисекундах
Убрана зависимость от компонента richtx32.ocx - Microsoft Rich Textbox Control 6.0
Добавлено перестроение кнопок при изменении размера окна или переходе по вкладкам
Изменено окно "О программе"
Добавлен Арабский язык спасибо MFM Dawdeh - http://www.mfmd.net/forum.php
Информация о текущем прогрессе выполнения теперь в начале заголовка программы
http://www.mediafire.com/download/awb6oorptia92q7/DriversInstaller_Release_5.12.30_Test.7z
P.S. В следующем году уже будут программы с номером 6.x.x
volk1234
31-12-2013, 16:42
Не знаю исправлено ли в новой версии-
GUI лицензионного соглашения не нажимется с клавиатуры галочка "я согласен".
Т.е. если я без мыши хочу установить драйвера- не получится, т.к. я не могу пробелом выбрать галку " я согласен".
Т.е. если я без мыши хочу установить драйвера- не получится, т.к. я не могу пробелом выбрать галку " я согласен". »
да все работает, и пакеты по пробелу тоже выделяются
Как сделать чтоб при установки драйверов не выводился запрос о подтверждению обновления драйвера
Как сделать чтоб при установки драйверов не выводился запрос о подтверждению обновления драйвера »
Какого рода сообщение? Можно скриншот.
Если это сообщения DPinst, то их можно погасить соответствующей настройкой. Посмотрите настройки программы.
Версия 6.4.11 PreFinal (11.04.2014)
[CHANGED] Оптимизация процесса загрузки программы, скорость выросла в ~2-3 раза
[CHANGED] Оптимизация процесса индексации, скорость выросла в ~2-3 раза
[CHANGED] Оптимизация отладочного лога-программы, уменьшено количество сообщений в стандартном режиме работы. Улучшена читаемость лог-файла
[CHANGED] Обновлена поддержка маркеров операционной системы и маркеров производителей ноутбуков (Идея от SamLab)
[ADDED] Добавлена поддержка маркеров (intel_2nd, intel_4th) для корректной установки драйвера Intel USB 3.0 (IUSB3\ROOT_HUB30) (Идея от BadPointer)
[CHANGED] Немного изменен формат базы данных (совмещено поле "путь"и "имя inf-файла").
[CHANGED] Изменено отображение подсказки для кнопки пакета драйверов (совмещено поле "путь"и "имя inf-файла").
[CHANGED] Теперь программа имеет полноценную возможность работы с распакованными пакетами драйверов
[CHANGED] Множественные изменения/улучшения интерфейса
[ADDED] Расширены возможность изменения интерфейса через настройки: изменение шрифта элементов управления, изменение внешнего вида кнопок пакетов драйверов
[FIXED] Исправлена неработоспособность изменения цвета шрифта контролов
[CHANGED] Изменен размер иконок для кнопок управления (32x32 кроме кнопок пакетов драйверов, они остались 24x24)
[ADDED] Поддержка Unicode всех элементов управления (кроме SStab)
[FIXED] Исправлено отображение иконки приложения для exe-файла и при отображении по Alt+Tab (для Windows Vista+)
[CHANGED] Для универсализации и простоты интеграции программы в различные сборники драйверов, изменена структура каталогов программы: подкаталоги "Lang", "Graphics", "Docs" перенесены в каталог DIA
[CHANGED] Файл настроек .\Tools\DriversInstaller.ini переименован в .\Tools\DIA.ini
[CHANGED] Временный каталог программы изменен на %temp%\DIA
[FIXED] Стабильность приложения, исправлены произвольные вылеты программы (я надеюсь на это :))
[CHANGED] Улучшение отклика программы при различных операциях
[CHANGED] Оптимизация функций работы с файлами
[CHANGED] Исправлены небольшие ошибки в процессе индексации (чистота базы данных в части определения имени устройства)
[ADDED] Добавлена возможность распаковки отдельного драйверпака, по нажатию правой кнопки мыши на пакете драйверов (раньше было реализовано только для группового режима работы)
[CHANGED] Процесс создания точки восстановления перенесен в режим установки драйвера (ранее было при запуске программы). Создается один раз за сеанс работы программы.
[CHANGED] Добавлено автоизменение ширины колонки при переключении между режимами для всех таблиц
[FIXED] Исправлено переключение между элементами по клавише TAB (добавлен фокус)
[CHANGED] Доработан режим эмуляции (сохранение/загрузка) для определения параметров эмулируемой системы на основании имени файла снимка
[CHANGED] Изменено окно "О программе".
[CHANGED] Обновлена программа System Information Viewer до версии V4.43
[CHANGED] Обновлена программа DevManView до версии V1.41
MD5: 5c0a52fece65d2e93587586fde453e8a
http://www.mediafire.com/?ntembx7vuxt7z
BadPointer
11-04-2014, 14:05
У меня стабильно падает при индексации DP_Telephone_14035.7z.
https://www.mediafire.com/convkey/9303/cj6wlvkkg2akfo26g.jpg
У меня стабильно падает при индексации DP_Telephone_14035.7z. »
Да видимо данный алгоритм сортировки массива все таки не на всех машинах отрабатывает стабильно.
Мне хочется понять в чем ошибка в алгоритме сортировки
1. Скачай https://www.mediafire.com/?3iz7j3882tjn798
2. запусти сначала DIA_ErrHandler.exe чтобы появилось аналогичное окно, тут я увижу в какой Функции ошибка
3. потом сначала DIA_woErrHandler.exe. Эта версия при ошибке просто вылетит, и windows по идее должен создать minidump. Если сделает скинь плиз его.
А вообще ошибку можно убрать. Я на всякий случай предусмотрел старый вариант сортировки.
Нужно в DIA.ini изменить параметр
[OS]
SortMethodShell=1
BadPointer
11-04-2014, 14:56
SortMethodShell=1 »
Это исправляет падение.
Я использовал драйверпаки из SamDrivers 4.4. Падает только на DP_Telephone_14035.7z каждый раз, а остальные обрабатываются нормально. Индексировал на Windows XP, хотя не понимаю как это может зависеть от версии Windows. У тебя у самого должно также падать на этом же месте.
DIA_ErrHandler.exe
Это одно и тоже сообщение. Просто прокрутил его вниз на втором скрине.
https://www.mediafire.com/convkey/edf9/0hzdepm67lmuiz96g.jpg
DIA_woErrHandler.exe
Выскакивает сообщение отправить отчет Microsoft. Минидампы у меня отключены.
Я использовал драйверпаки из SamDrivers 4.4. Падает только на DP_Telephone_14035.7z каждый раз, а остальные обрабатываются нормально. Индексировал на Windows XP, хотя не понимаю как это может зависеть от версии Windows. У тебя у самого должно также падать на этом же месте. »
В том то и дело что у меня не падает. На нескольких машинах проверял. Ранее с ошибкой на данном пакете уже сталкивался SamLab в предыдущих тестовых версиях (и именно на пакетах telephone разных версий), когда я использовал аналогичную сортировку. Я просто забыл об этом.
BadPointer
11-04-2014, 19:34
У меня дома на Windows 7 x64 также падает при индексировании того же драйверпака что и на XP. Минидампы включены, но они не создаются, и DIA_woErrHandler.exe закрывается без каких либо сообщений вроде отправки отчета в Microsoft.
Возможно, DIA излишне зависим от определенных версий внешних модулей.
Windows XP
RegisterAddComponent - Start
{BDC217C8-ED16-11CD-956C-0000C04E4C0A}: Path to TabCtl32.OCX from Reestr: g:\windows\system32\tabctl32.ocx
{BDC217C8-ED16-11CD-956C-0000C04E4C0A}: is already present in system - File version: 6.1.98.16
{BDC217C8-ED16-11CD-956C-0000C04E4C0A}: Result=1
RegisterAddComponent - *****************Check Next File********************
{5E9E78A0-531B-11CF-91F6-C2863C385E30}: Path to MSFLXGRD.OCX from Reestr: g:\windows\system32\msflxgrd.ocx
{5E9E78A0-531B-11CF-91F6-C2863C385E30}: is already present in system - File version: 6.1.98.14
{5E9E78A0-531B-11CF-91F6-C2863C385E30}: Result=1
RegisterAddComponent - *****************Check Next File********************
{3F4DACA7-160D-11D2-A8E9-00104B365C9F}: Path to vbscript.dll from Reestr: g:\windows\system32\vbscript.dll\3
{3F4DACA7-160D-11D2-A8E9-00104B365C9F}: is already present in system - File version: 5.8.6001.23552
{3F4DACA7-160D-11D2-A8E9-00104B365C9F}: Result=1
RegisterAddComponent - Finish
OsCurrentVersion: 5.1
Windows 7
RegisterAddComponent - Start
{BDC217C8-ED16-11CD-956C-0000C04E4C0A}: Path to TabCtl32.OCX from Reestr: c:\windows\syswow64\tabctl32.ocx
{BDC217C8-ED16-11CD-956C-0000C04E4C0A}: is already present in system - File version: 6.1.98.16
{BDC217C8-ED16-11CD-956C-0000C04E4C0A}: Result=1
RegisterAddComponent - *****************Check Next File********************
{5E9E78A0-531B-11CF-91F6-C2863C385E30}: Path to MSFLXGRD.OCX from Reestr: c:\windows\syswow64\msflxgrd.ocx
{5E9E78A0-531B-11CF-91F6-C2863C385E30}: is already present in system - File version: 6.1.98.14
{5E9E78A0-531B-11CF-91F6-C2863C385E30}: Result=1
RegisterAddComponent - *****************Check Next File********************
{3F4DACA7-160D-11D2-A8E9-00104B365C9F}: Path to vbscript.dll from Reestr: c:\windows\syswow64\vbscript.dll\3
{3F4DACA7-160D-11D2-A8E9-00104B365C9F}: Update file for your operating system does not provide
RegisterAddComponent - Finish
OsCurrentVersion: 6.1
--------------------------------------
Я исключил проблемный драйверпак и сравнил скоростные показатели старой и новой версии DIA, а также Snappy Driver Installer.
Время индексации
Старая DIA – 351 сек (5:51)
Новая DIA – 128 сек (2:08)
SDI – 19 сек
Новая версия справилась с индексацией в 2,7 раза быстрее, но даже этот результат в 6,7 раза хуже чем у SDI. Здесь также нужно иметь ввиду что DIA извлекает и обрабатывает только inf файлы(объем 1,2 ГБ), а SDI – inf файлы и в дополнении к ним еще cat файлы. Суммарный объемом всех файлов - 2 ГБ. Таким образом, SDI приходится обработать гораздо больший объем информации.
Размер индексов
DIA – 132 МБ
SDI – 6 МБ (до сжатия методом LZMA – 55 МБ)
Несмотря на малый размер индексов SDI, они содержат больше информации о драйверах(FeatureScore, InstallSection, classguid, provider, catalogfile), пустые секции, сигнализирующие об отсутствии поддержки драйвера указанной ОС.
Для поиска драйверов DIA требуется загрузить как минимум 23 МБ индексов(а на практике приходится больше). SDI достаточно загрузить 6 МБ. Минимизация размера индексов и объема загружаемых данных важна для оптимизации времени холодного старта или запуска с DVD.
Время готовности
Старая DIA – 9 сек.
Новая DIA – 3 сек.
SDI – 0,5 сек.
Новая версия в 3 раза быстрее, но в 6 раз медленнее чем SDI.
Возможно, DIA излишне зависим от определенных версий внешних модулей. »
Из внешних компонентов DIA зависим только от движка VBScript и RegExp. Остальное стандартные библиотеки VB и API функции. Вылетает не поэтому, если бы я смог у себя произвести проблему, то возможно ошибку бы исправил. Компоненты указанные вами это только для GUI
Новая версия справилась с индексацией в 2,7 раза быстрее, но даже этот результат в 6,7 раза хуже чем у SDI. Здесь также нужно иметь ввиду что DIA извлекает и обрабатывает только inf файлы(объем 1,2 ГБ), а SDI – inf файлы и в дополнении к ним еще cat файлы. Суммарный объемом всех файлов - 2 ГБ. Таким образом, SDI приходится обработать гораздо больший объем информации. »
"InstallSection, catalogfile, пустые секции, сигнализирующие об отсутствии поддержки драйвера указанной ОС." это все тоже учитывается в DIA. И уже давно. Наличие Cat учитывается, но не разбирается по подписи. "FeatureScore, classguid, provider," для текущей реализации не важны, так как что в конечном варианте решает пользователь, что ставить, программа показывает все подходящие драйвера. В будущем возможно буду показывать пользователю что рекомендуется с учетом cat.
Новая версия в 3 раза быстрее, но в 6 раз медленнее чем SDI. »
Про скорость.
Да DIA медленнее, чем SDI, но я и не претендую на быструю программу.
Я считаю что для такого класса программ скорость не самое главное. Тем более индексация - это по сути разовая процедура. Сделал и забыл. Да не за секунды, а за минуты, но для меня это не так критично.
Также более медленный запуск DIA также обуславливается более нагруженным GUI. А это тоже потеря скорости.
В VB реализовать многопоточность, как сделано в SDI почти не реально. Только с применением библиотек, а это еще дополнительная зависимость.
Оптимизировать размер индексов также реально, но опять же к сожалению не без участия внешних компонент, так нет ничего с открыт исходным кодом портированного под VB. Так как многие не считают его нормальным языком программирования.
Да VB далек от идеала и сделать на нем ПО превосходящее по скорости с++ не выйдет, но и моя программа имеет право на жизнь. Пусть пользователи решают для себя что им лучше. Постоянно акцентировать внимание на превосходстве вашей программой над другими не совсем корректно.
BadPointer, я рад что у вас получается довольно быстрая и умная программа. Появление вашей программы подтолкнуло меня на дальнейшую разработку и поиски слабых мест в моих проектах, и реализации новых идей. Для меня DIA и DBS это хобби, я не стремлюсь сделать лучшее. Я делаю то что мне нравится.
BadPointer
11-04-2014, 22:17
Я считаю что для такого класса программ скорость не самое главное. Тем более индексация - это по сути разовая процедура. Сделал и забыл. Да не за секунды, а за минуты, но для меня это не так критично »
Да, скорость уже давно не является узким горлышком. Но на мой взгляд, упражняться в достижении оптимальной производительности все равно имеет смысл так как это вырабатывает полезные навыки, даже если в данном случае это уже не так важно. Оптимизации произведенные в DIA 6.4.11 все равно заслуживают уважения, так как не каждый раз удается повысить производительность в несколько раз, а не на несколько процентов, потратив при этом на оптимизацию уйму времени.
Впрочем, правильность подбора драйверов и установки гораздо важнее для подобных программ.
"InstallSection, catalogfile, пустые секции, сигнализирующие об отсутствии поддержки драйвера указанной ОС." это все тоже учитывается в DIA. И уже давно. »
DIA сохраняет только IAMT_DDI_V, а SDI еще считывает IAMT_DDI_V.NTx86.
[Intel.NTx86.6.0.1]
; DisplayName Section DeviceId
%IAMT_DeviceDesc%=IAMT_DDI_V, PCI\VEN_8086&DEV_108E
[IAMT_DDI_V.NTx86]
CopyFiles=IAMTV_Files_Driver, IAMT_Files_Uninstall
AddReg=IAMT_NT_AddReg, IAMT_UNINSTALL_AddReg
DIA не учитывает CatalogFile для различных архитектур.
[Version]
Signature=$Windows NT$
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider=%MFGNAME%
CatalogFile=btpmw32.cat
CatalogFile.ntx86=btpmw32.cat
CatalogFile.nt=btpmw32.cat
CatalogFile.ntamd64=btpmwx64.cat
DriverVer=11/19/2009,3.0.0.2
DIA не учитывает что этот драйвер подходит для Windows начиная с XP
и заканчивая Windows Vista. Пустая секция для Windows 7[6.1] говорит о том что этот драйвер не подходит
для Семерки и выше.
[NVIDIA_SYS.ntamd64.5.1]
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10de&DEV_0264
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_0368
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_03EB
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_07D8
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_0752
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_0AA2
[NVIDIA_SYS.ntamd64.6.0]
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10de&DEV_0264
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_0368
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_03EB
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_07D8
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_0752
%PCI\VEN_10de&DEV_01b4.DeviceDesc% = NO_DRV, PCI\VEN_10DE&DEV_0AA2
[NVIDIA_SYS.ntamd64.6.1]
romeo91, http://savepic.net/5137049.png
лог - http://gfile.ru/a6wxE
SamLab, ошибка воспроизводится всегда? Или это плавающая ошибка?
Спасибо классная программка
Версия 6.4.28 PreFinal (28.04.2014)
[CHANGED] Оптимизация процесса загрузки программы, скорость выросла на ~40%
[CHANGED] Оптимизация процесса индексации, скорость выросла на ~10-15%
[ADDED] Добавлена команда /savereport[:DIR] для сохранения файла снимка системы. Если каталог [DIR] не указан, то файл сохраняется в каталог DebugLogPath.
[ADDED] При запуске программы снимок системы сохраняется в каталог DebugLogPath
[FIXED] Исправлены редкие ошибки в процессе индексации, когда некоторые HWID обрезались
[FIXED] Исправлена ошибка, приводившая к вылету программы, если установку драйверов запускали сразу после индексации (в том же сеансе работы программы)
[FIXED] Исправлена ошибка подбора драйвера для тачпада
[FIXED] Исправлено не обновление картинки статуса драйверпака при эмуляции системы
[FIXED] Несколько других некритических ошибок
https://www.mediafire.com/?ydbu9m3qvyq55mm
MD5: d82a528b9c659cb2433a3f666713cc7b
https://www.virustotal.com/ru/file/64ecf28e82f276ce0b61456923a628e206ab8f452286f4decd050c315cf5e7f5/analysis/1398679580/
BadPointer
05-05-2014, 16:27
DIA до сих пор полагается на DPInst для установки драйверов в то время как другие программы этого класса давно перешли на установку через devcon или функции Win32API, которые идентичны установке через диспетчер устройств Windows и обеспечеивают более полный контроль при выборе драйвера, а также установка происходит с более высокой успешностью.
Принцип работы DPInst.
DIA распаковывает папки с нужными драйверами во временную папку и передает эту папку DPInst, который самостоятельно выбирает какие драйверы следует устанавливать и производит установку драйверов самостоятельно копируя файлы не используя стандартные Windows интерфейсы для установки драйверов.
Проблемы с DPInst.
DPInst может отказаться обновлять драйвер по непонятным причинам, даже если драйвер новее и более подходящий и был выбран к установке в DIA.
Даже при правильном выборе драйвера установка может завершиться неудачно или быть выполнена не полностью из-за того что DPInst не всегда правильно выполняет копирование файлов и настройку драйвера. При этом установка такого драйвера через диспетчер устройств завершается успешно.
Если в папке есть несколько драйверов, DIA не может заставить DPInst выполнить установку только одного из этих драйверов.
DPInst - сторонняя программа(хоть и от Microsoft) не обновлявшаяся с 2010 года, что означает что рассчитывать на исправление ее проблем не приходится, а отсутствие открытых исходных кодов делает невозможным самостоятельное исправление проблем в этой программе.
Решение проблем DPInst.
В идеале DIA должен перейти на установку драйверов через Win32API, но это может потребовать значительной переделки кода. DIA должен будет взять на себя большую ответственность за подбор оптимального драйвера, так как после отказа от DPInst, не будет подстраховки от неправильного выбора, которую сейчас осуществляет DPInst.
Так как DIA в ближайшее время будет использовать DPInst при подборе и установке драйверов, я советую заменить DPInst на Snappy Driver Installer, который умеет работать в роли DPInst. Для этого достаточно скопировать файл SDI_R72.EXE в папку Tools\DPInst под именами DPInst.exe и DPInst64.exe(с перезаписью существующих файлов).
Таким образом, DIA будет запускать установку распакованных драйверов из временной папки посредством SDI, а не DPInst, что обеспечит более оптимальный подбор драйверов, а также повысит успешность установки драйверов.
Так как DIA в ближайшее время будет использовать DPInst при подборе и установке драйверов, я советую заменить DPInst на Snappy Driver Installer, который умеет работать в роли DPInst. Для этого достаточно скопировать файл SDI_R72.EXE в папку Tools\DPInst под именами DPInst.exe и DPInst64.exe(с перезаписью существующих файлов) »
И ключи от DPinst тоже подходят? Вроде по описанию программы нет.
Приведи свои ключи коммандной строки аналогично DPinst.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC