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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Наборы обновлений для Windows XP/2003/Windows 7 (http://forum.oszone.net/forumdisplay.php?f=62)
-   -   MySetup: Driver Installer 2.0 (http://forum.oszone.net/showthread.php?t=189086)

sosed213 22-10-2010 18:38 1524974

MySetup: Driver Installer 2.0
 
Здраствуйте коллеги.
В условиях жесткой конкуренции пытаюсь втиснуться в пласты установщиков драйверов.

Я написал прогу для установки драйверов MySetup: Driver Installer 3.3



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

Желаю получить отзовы и пожелания.


На сайте есть новая версия программы 3.3.0.300 от 24.11.2010 г.



stalinit078 22-10-2010 20:03 1525031

sosed213,
С каких носителей информации (DVD, флэшка и т.д.) можно запускать программу?

romeo91 22-10-2010 20:37 1525057

sosed213, все-таки решился! :) Молодец! Надо бы поюзать...
Тока вот описание все же лучше сделать.. Ну и подробно описать функционал или принципиальные отличия от других версий...Если конечно отличия есть, кроме дизайна

sosed213 22-10-2010 20:41 1525062

Запускать программу можно с флешки или с внешнего жесткого диска, т.е с того устройства где доступно чтение/запись. Нельзя запускать с компакт дисков, потому что возникает проблема с БД.
Планирую добавить альтернативу, бд в формате *.dbf : медленей, но будет работать, что-то вроде резервной базы

romeo91 22-10-2010 20:57 1525077

Вложений: 1
Ошибка при индексации - после ошибки прога закрылась.

Скорость индексации пока очень медленная
Подсказка сделана в виде таблицы как у меня, но шрифт желательно выбрать моноширный

sosed213 22-10-2010 20:59 1525079

Особенность этой программы втом, что можно удобно создавать пакеты драйверов. Возможность выбора одного из нескольких драйверов для одного устройства. Интуитивный, максимально простой интдрфейс. И еще одна особенность в том что программа умеет определять и различать разрядность (х86, х64) системы для которой предназначен драйвер. А так же имеется система обсалютного вендора: индикатор кнопки подсвечивается особенным цветом, когда и вендор и субсис устройства совпадают со значениями из базы. Планирую сделать систему подтверждения вендора, для аналитики.

Ошибка в том что имя пакета содержит не допустимые символы, возможно я допустил косяк в запросе. Попробуй убрать точки. С этим буду разбираться завтра, т.к. уже лежу в постеле и пишу через телефон, а всплывающая подсказка похожа на твою, ведь ты мне сам дал ссылку на пример, за что спасибо!

Bond01 22-10-2010 21:20 1525094

Цитата:

Цитата sosed213
Желаю получить отзовы и пожелания. »

sosed213, много грамматических ошибок в программе, поскромнее надо с рекламой сайта - "раскачайте" сначала утилиту.
Удачи.

sosed213 22-10-2010 21:40 1525108

За ошибки извените, у меня всегда с этим проблемы, буду исправляться. Пиарить сайт в планах не было, просто хотел поделиться, на мой взгляд, полезной программой.

BadPointer 22-10-2010 22:10 1525129

1.
Зависает при создании базы данных на следующих драйверпаках из SamDrivers 10.10.1. Пришлось их пропустить.
DP_Sound_Realtek_wnt5_x86-32_1009.7z
DP_LAN_wnt5_x86-32_1009.7z
DP_SERVER-LAN_wnt5_x86-32_1007.7z
DP_Sound_NEW_wnt5_x86-32_1010.7z

2.
Прога вроде предназначена также для 64-битных систем, но у тебя нет 64-битного DPInst и devcon.

3.
Советую обновить 7z с версии 4.6 на 9.17.

4.
Прога не ведет логи и выдает мало информации, что усложняет сравнение с аналогами, хотя проанализировав ту информацию что я получил я сделал некоторые выводы: прога использует укороченные HWIDы, не умеет определять дату и версию установленных драйверов, не анализирует совместимые HWIDы, использует ненадежный DPInst для установки.

5.
Учитывается ли структура inf файлов при создании базы данных или в файле находятся все записи, которые по форме напоминают HWID?

6.
Чем можно просмотреть DEVBD.mdb? Или он и вправду запаролен?

sosed213 23-10-2010 09:24 1525349

BadPointer,

1. По первому пункту, буду разбираться.
2. devcon.exe прекрасно работает на любой архитектуре. А про DPInst ии DPInst64 я написал в miniHelpe программы.

Цитирую:
"В папке \Tools\ должны лежать следущие файлы:
\devcon.exe
\7z.exe
\dpinst.exe
\dpinst64.exe"

3. Это мелочи, о которых я даже нестану замарачиваться. Это может сделать каждый пользователь. "Какой положешь такой и будет лежать" :)

4. Программа работает в интерактивном режиме, и не будет вести логов, а информации она дает достаточно, чтобы установить конкретный драйвер для конкретного оборудования.
Какой информации недостаточно? Скажи :)
Программа распознает полные HWID, в том числе и дату и версию драйвера. Но так как не во всех драйверах используется эта строчка, я возлажил ответственность выбора драйвера и сравнение версий на пользователя. А ненадежный DPInst - просто так проще. Влюбом случае есть функция просто распокавать драйвер и не устанавливать.

5. Полностью учитывается структура *.inf файлов, вплоть до извлечения переменных из секции [Strings], тоесть ссылки заключенные в знаки %текст%.
Невижу смысла тупо просматривать весь файл в поисках чегото похожего, когда есть четкая структура.
Также в программе используется фильтр поиска HWID:

PCI\
USB\
HID\
HDAUDIO\

Также можно будет добавить:
USBPRINT\
ACPI\


6. *.mdb - это стандартный формат файла Microsoft Access. Моя БД открыта и доступна для просмотра и редактирования.


Рад что возникают вопросы :)

BadPointer 23-10-2010 12:56 1525419

Дополнения по следующим пунктам.

2. devcon для 32-разрядных систем не умеет устанавливать 64-разрядные драйверы. Впрочем твоя прога пожалуй еще не скоро будет использовать его для установки. Я так понял ты забыл включить dpinst64.exe. Про 7za.exe в хелпе ничего не сказано, он используется?

3. Уже появляются драйверпаки, упакованные новым методом и твоя прога не сможет их распаковать такой старой версий 7z.

4. Прога не показывает информацию о уже установленном драйвере, в результате прога может предлагать уже установленные драйверы и даже более старые чем уже установлены. Поиск данной информации вручную довольно трудоемок, ведь для этого придется искать драйвер по HWIDу в диспетчере устройств.

5. У меня выводится версия драйвера "07/25/2006, %DriverBuildID%" в DP_Sound_SndMax_wnt5_x86-32_1009.7z.
Если структура inf файлов полностью учитывается то тебе не нужно использовать фильтры чтобы отсеивать мусор. HWIDы бывают самые разные и ты сможешь охватить их всех с такими фильтрами. Некоторые даже не содержат символ \, например *PNP09FF(монитор), HID_DEVICE_UP:0001_U:0006(клавиатура).

6. Разобрался как открыть это в LibreOffice Base.

SOLON7 23-10-2010 15:40 1525516

sosed213,

Привет. Как дела.
ОЧень рад что программисты РОждаются.
Но должен тебя предупредить.
Ты будешь в течение года заниматся программой.
Будет 89 страниц на форуме. Понимаю ты хочешь получить ОПЫТ, и занять свою НИШУ.
Но я скажу тебе так. Глупо создавать то что и так имеется, лучше использовать готовое.
Я понимаю ты хочешь принести пользу.
Вообще чтобы писать такого рода программы. Их нужно писать Для большой аудитории, и большим количеством программистов.
Не трать время на пустые затеи. Лучше присоединись к проекту РОМЕО.
Посмотри на эти проекты и прими решение.
http://forum.oszone.net/thread-127858.html
http://forum.oszone.net/thread-137276.html
http://forum.oszone.net/thread-116304-27.html

sosed213 23-10-2010 15:48 1525520

BadPointer, спасибо.

7za.exe - неиспользуется. Зря я его положил в архив.
Про devcon 32 и 64 понял, спасибо.

7z заменю на версию 9.

Фильтр я использую затем, что мне ненужны драйвера на монитор, и клавиатура :)

Буду работать в следущем направлении. Определять версию уже установленного драйвера и сравнимвать с имеющимеся.

И с этим "07/25/2006, %DriverBuildID% - разберусь :)

Спасибо.

sosed213 23-10-2010 16:44 1525547

SOLON7, спасибо за совет и предложение.

Опыта в программировании у меня хватает, популярности я не ищу.

Почему я написал свою программу, а не воспользовался тем что есть?!
Писал программу конкретно под свои задачи, под мою сферу деятельности, учитывая что программа должна быть максимально простой, понятной и компактной.

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

То что уже выложено у меня это первый комочек, который будет совершенствоваться.

Прошу, ненадо писать 89 страниц попусту, если проект интересен - помогите, подскажите, а если нет - лучше промолчите, и найдите то что интересно вам.

Ваш скромняга Sosed213.

SOLON7 23-10-2010 19:04 1525644

Вложений: 1
sosed213, =))

Цитата:

Цитата sosed213
Прошу, ненадо писать 89 страниц попусту, если проект интересен - помогите, подскажите, а если нет - лучше промолчите, и найдите то что интересно вам. »

1. Не помешало бы поставить Иконки.
2. Не помешало бы русифицировать Audio, LAN, CHipset.
3. Возникает Ошибка, см АТАЧ.
4. Сделать Вкладку для установки Дров, и отдельно для ОБНОВЛЕНИЯ дров.
5. Меня очень нервирует DSP так как тормозит!!
6. Не помешало бы указать ПРогресс распаковки дров (от 0 до 100 процентов). Вроде 7za позволяет делать CALLBACK функции.

7.
Цитата:

Цитата sosed213
учитывая что программа должна быть максимально простой, понятной и компактной. »

НЕ ПОЛУЧИТСЯ, так как простота не может быть если проект уже вошел в конференцию...
8. Если тебе нужен Избыточный ХЕЛП, то можешь обратится к SAAVAAGE, он мне помогал с хелпом.

BadPointer 23-10-2010 19:07 1525646

Цитата:

Цитата SOLON7
5. Меня очень нервирует DSP так как тормозит!! »

Что такое DSP?

romeo91 23-10-2010 20:25 1525712

Цитата:

Цитата SOLON7
Вроде 7za позволяет делать CALLBACK функции. »

К сожалению нет там callback. По крайней мере в то время, когда я интересовался не было.
А библиотеку 7z.dll использовать в VB6 не так то просто..., да и потеряет скорее всего в производительности

sosed213 23-10-2010 21:14 1525748

romeo91, согласен с тобой.

Snakus 24-10-2010 13:18 1526094

SOLON7, Проект-то свой Up-Lite забросил, или он достиг совершенства?

SOLON7 25-10-2010 19:03 1527143

Цитата:

Цитата Snakus
SOLON7, Проект-то свой Up-Lite забросил, или он достиг совершенства? »

Не было поддержки со стороны пользователей и потребителей. С связи с этим проект забросил!!
Но появился проект лучше.
http://forum.oszone.net/thread-137382.html

К сведению проект NLITE разрабатывался с 2004 по 2008.
Snakus, Прежде чем писать подумайте компетентны ли вы в Данном вопросе!!

BadPointer,
Цитата:

Цитата BadPointer
Что такое DSP? »

DPS-Driver pack solution.

BadPointer 25-10-2010 19:37 1527171

Цитата:

Цитата SOLON7
5. Меня очень нервирует DSP так как тормозит!! »

DPS 9 была очень тормозная, но это было очень давно и до того как я подключился к проекту: я залил DPS 9 на SVN репозиторий 27 июля 2009 года под номером R2.
Даже относительно старый DPS 10 R145(февраль 2010) значительно обходил более новый DIA 2.7.29 (август 2010) по скоростным показателям.
И сейчас последняя DPS 10 R150 не уступает в этом плане последней DIA 2.10.12.

Почти 3 месяца назад я произвел сравнение последних на тот момент последних версий DPS и DIA.
http://forum.oszone.net/post-1466852-1324.html
С тех пор, правда, DIA перенял из DPS алгоритм индексации драйверпаков и сбора информации об устройствах. Это позволило DIA сравнятся c DPS по скоростным показателям.

romeo91 25-10-2010 21:09 1527249

Цитата:

Цитата BadPointer
Даже относительно старый DPS 10 R145(февраль 2010) значительно обходил более новый DIA 2.7.29 (август 2010) по скоростным показателям. »

Цитата:

Цитата BadPointer
С тех пор, правда, DIA перенял из DPS алгоритм индексации драйверпаков и сбора информации об устройствах. »

Индексации дров да, перенял - но после много чего модернизировал.
А вот сбора данных не из DPS, мне уже как год назад в моей ветке форума предлагали сделать чтение из реестра.
Так что не все берется из DPS, идеи некоторые могут браться(и не только из DPS), но реализация всегда своя.
Я всегда стремлюсь к оптимизации проекта разными путями (И расширением функционала и оптимизацией скорости), но не считаю DPS идеалом, к чему стоит стремится.

Цитата:

Цитата BadPointer
И сейчас последняя DPS 10 R150 не уступает в этом плане последней DIA 2.10.12. »

А скорость индексации думаю надо сравнить еще раз. В этом плане DIA возможно будет побыстрее

BadPointer 25-10-2010 22:29 1527315

Я отвечал на заявление SOLON7 по поводу тормозов DPS 9. Тогда прога работала действительно медленно я три рабочих тратил чтобы проиндексировать драйверпаки размером 1ГБ, и комп все это время так лагал что я не мог им пользоваться: я смотрел телек это время. Я думаю именно впечатление от DPS 9 SOLON7 и описывал, хотя это уже давно не так.

Время индексации последних DPS 10 R150 и DIA 2.10.12 на 89 драйверпаках размером 3 ГБ.
DPS - 5:30
DIA - 2:21 (настройки по умолчанию)
DIA - 3:42 (отключено обрезание HWIDов)

DIA действительно теперь почти в два раза быстрее DPS, хотя оба и используют индексатор на основе регулярных выражений. Полагаю что разница из-за того что DPS использует скриптовый язык программирования, а DIA скомпилирован в машинный код.
В любом случае, индексатор на основе регулярных выражений меня уже мало интересует, так как он слишком медленный как бы его не оптимизировать. Проблема в том, что более оптимальный алгоритм невозможен на используемом языке программирования. Для сравнения, индексатор на основе указателей индексирует эти же драйверпаки за 16 секунд.

Я тоже не считаю DPS идеалом, но на данный момент в этой программе имеется самый корректный алгоритм подбора драйверов и установки. Поэтому я сейчас внимательно слежу по всему интернету за возникающими проблемами и стараюсь изучить их: мне нужен этот опыт. Я сомневаюсь что DPS будет дальше совершенствоваться, но пока нет других прог сопоставимых по точности, мне придется полагаться на DPS.

SOLON7 26-10-2010 07:06 1527509

BadPointer, romeo91, Похоже вы меня заинтересовали проектом DIA.
РОМЕО. Можно я Предложу Замечания к вашему DIA по Интерфейсу.
Можно было бы сделать Интерфейс более дружелюбным.
Я сам уже занимаюсь компами с 95 года. Поэтому думаю что мои замечания по интерфейсу, будут вам полезны!!

romeo91 26-10-2010 09:27 1527566

Цитата:

Цитата BadPointer
РОМЕО. Можно я Предложу Замечания к вашему DIA по Интерфейсу.
Можно было бы сделать Интерфейс более дружелюбным.
Я сам уже занимаюсь компами с 95 года. Поэтому думаю что мои замечания по интерфейсу, будут вам полезны!! »

Конечно можно, я всегда открыт для новых идей...
Только давайте не засорять чужую тему, а сделаем комментарий в соответствующей теме :)

SOLON7 26-10-2010 15:19 1527837

:) :)

sosed213 01-11-2010 13:48 1532259

Учитывая мнение специалистов в данной области, взяв во внимание советы пользователей, слегка подкоректировал программу.

На сегодня актуальная версия 3.3.0.220. На сайте можно скачать и посмотреть её.

В версии 3.3.0.220 было изменино:
Больше не используется devcon.exe
Исправленны кое какие ошибки.
Доработанно много мелочей.
Увеличена скорость работа с 7z архивами.


Это далеко не финальная версия программы, есть много идей по дароботке. По мере выхода новых версий буду отписываться.

Зарание спасибо за отзовы.

SOLON7 07-11-2010 17:23 1536982

sosed213, не могли бы вы привести код сканирования HWID ???
Заранее признателен !!

romeo91 07-11-2010 19:55 1537064

Цитата:

Цитата SOLON7
не могли бы вы привести код сканирования HWID ??? »

не уж, то свою программу решил написать? :)
Посмотри для примера как в DRP реализовано...
или вот читаем в виде пары фраз - метод сканирования...

SOLON7 07-11-2010 21:03 1537118

devcon.exe driverfiles acpi*
devcon.exe driverfiles hdaudio*
devcon.exe driverfiles pci*
devcon.exe driverfiles usb*
devcon.exe driverfiles hid*
devcon.exe driverfiles bluetooth*
devcon.exe driverfiles monitor*
devcon.exe driverfiles root*


Не устраивает. нужен именно программыный код работы с SetupApi.
Точнее нужен код devcon.exe driverfiles hdaudio* в исходном коде.
У тебя случаем не будет исходников от devcon.exe ???

BadPointer 07-11-2010 21:11 1537124

SOLON7, исходники devcon'а на С++ есть в составе WinDDK.

Я залил эту папку с исходниками сюда:
http://www.mediafire.com/?1vlyg57qwp5uc

SOLON7 07-11-2010 22:13 1537182

BadPointer, Весьма признателен !!!

sosed213 08-11-2010 06:59 1537364

Всем привет.

Я пользуюсь исходниками Devcon.exe для сканирования HWID's.

Вот функции которыми я пользуюсь:
SetupDiGetClassDevsA - для получения списка устройств
SetupDiEnumDeviceInfo - для получения информации об устройствах

Так-же сейчас работаю над установкой драйверов, как это делает Devcon, это функция UpdateDriverForPlugAndPlayDevicesA библиотекb newdev.dll.

В 32-битной винде все работает отлично, а вот в 64 выдает ошибку. На сайте Microsoft читал что для x64 надо использовать функцию CreateProcess. А когда стал читать дальше и искать больше информации то понял. Microsoft рекомендует использовать CreateProcess для запуска Dpinst64.exe.

Сейчас перебераю setupapi.h в надежде найти там чтонибудь для устаноки под x64.

SOLON7 08-11-2010 07:48 1537375

Цитата:

Цитата sosed213
Сейчас перебераю setupapi.h в надежде найти там чтонибудь для устаноки под x64. »

I386\DevCon.exe -------------32-разрядная программа DevCon.32-разрядная программа DevCon (программа не работает на компьютере под управлением 64-разрядной операционной системы Windows).

Ia64\DevCon.exe -----------64-разрядная программа DevCon.

Похоже там разные точки входа в процедуру.
Кажись PE заголовки 64-32 разрядных, разные...

Надо создать отдельную тему для того чтобы рассматривать эти вопросы, так как Похоже уже многие стали заинтересованы в установке дров на разных системах!!

Помнится говорили что исходники WIN2000 в сеть выкладывали. Можеn этом направлении что илбо можно найти!!

SOLON7 08-11-2010 17:19 1537787

Цитата:

Цитата sosed213
SetupDiGetClassDevsA - для получения списка устройств
SetupDiEnumDeviceInfo - для получения информации об устройствах »

Можешь выложить рабочий код?? был бы весьма признателен !!

sosed213 24-11-2010 19:42 1550753

SOLON7, если програмный код еще нужен то вскоре я его выложу.

Сегодня обновил программу для установки драйверов, теперь она более эффективная и наглядная.
Скрин и ссылка есть в шапке темы или на сайте.

У меня на работе (в сервисном центре) программа хорошо себя показала по скорости и качеству.

SamLab 13-12-2010 15:05 1564841

В Windows 7 x64 программа не видит драйверпаки для этой системы - когда ставлю архитектуру и семейство на All они появляются - причем моя система определяется верно




sosed213 13-12-2010 17:34 1564922

SamLab, все верно, и работает правильно. Но не показывает потому что в inf - файлах, поставляемых производителями драйверов, не всегда учитывается синтаксис.

Например наличие секции NTamd64.6.1 в inf-файле говорит о том что драйвер на 100% предназначен под Windows 7 (6.1) и под x64 (NTamd64). Но эти правила почему то не всегда соблюдаются :(


Хотя и странно что в режиме ALL, программа нашла драйвер всего на одно устройство?!

SamLab 13-12-2010 18:58 1564999

sosed213, Тогда следует ввести как в DIA распределение по папкам или хотя бы в зависимости от имени архива распределять драйвера

sosed213 13-12-2010 19:05 1565002

SamLab, я считаю что это лишнее. Моя программа все же работает немного по другому принципу.

BadPointer 13-12-2010 19:05 1565004

Я советую использовать стратегию из DPS(функция isCompatible), так как она экспериментально показала себя наиболее подходящей. Во время работы над DPS у меня тоже было что то перекашивало в сторону излишней фильтрации, то в сторону предложения несовместимых драйверов, пока не нашел оптимальную стратегию.

sosed213 13-12-2010 19:13 1565010

BadPointer, я подумаю над этим, но вряд-ли, т.к. у меня своя стратегия.

shadoweagle 26-09-2012 10:43 1994984

На озоне тоже писал- Создание DEVBD.mdb размером 60мб напрягает, и нужна опция на создание ErrDebug.log ErrDebugLoad.log лога, не всегда он нужен, и главное-хочеться с DVD устанавливать драйвера- а как тут быть?
И очень не хватает возможности указывать путь к драйверпакам по папкам- win7 или winxp например.


Время: 00:31.

Время: 00:31.
© OSzone.net 2001-