![]() |
MySetup: Driver Installer 2.0
Здраствуйте коллеги.
В условиях жесткой конкуренции пытаюсь втиснуться в пласты установщиков драйверов. Я написал прогу для установки драйверов MySetup: Driver Installer 3.3 ![]() Особо много рассказывать тут нечего. Тема довольно избитая. Тут просто надо брать, смотреть и пользоваться. Желаю получить отзовы и пожелания. На сайте есть новая версия программы 3.3.0.300 от 24.11.2010 г. |
sosed213,
С каких носителей информации (DVD, флэшка и т.д.) можно запускать программу? |
sosed213, все-таки решился! :) Молодец! Надо бы поюзать...
Тока вот описание все же лучше сделать.. Ну и подробно описать функционал или принципиальные отличия от других версий...Если конечно отличия есть, кроме дизайна |
Запускать программу можно с флешки или с внешнего жесткого диска, т.е с того устройства где доступно чтение/запись. Нельзя запускать с компакт дисков, потому что возникает проблема с БД.
Планирую добавить альтернативу, бд в формате *.dbf : медленей, но будет работать, что-то вроде резервной базы |
Вложений: 1
Ошибка при индексации - после ошибки прога закрылась.
Скорость индексации пока очень медленная Подсказка сделана в виде таблицы как у меня, но шрифт желательно выбрать моноширный |
Особенность этой программы втом, что можно удобно создавать пакеты драйверов. Возможность выбора одного из нескольких драйверов для одного устройства. Интуитивный, максимально простой интдрфейс. И еще одна особенность в том что программа умеет определять и различать разрядность (х86, х64) системы для которой предназначен драйвер. А так же имеется система обсалютного вендора: индикатор кнопки подсвечивается особенным цветом, когда и вендор и субсис устройства совпадают со значениями из базы. Планирую сделать систему подтверждения вендора, для аналитики.
Ошибка в том что имя пакета содержит не допустимые символы, возможно я допустил косяк в запросе. Попробуй убрать точки. С этим буду разбираться завтра, т.к. уже лежу в постеле и пишу через телефон, а всплывающая подсказка похожа на твою, ведь ты мне сам дал ссылку на пример, за что спасибо! |
Цитата:
Удачи. |
За ошибки извените, у меня всегда с этим проблемы, буду исправляться. Пиарить сайт в планах не было, просто хотел поделиться, на мой взгляд, полезной программой.
|
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? Или он и вправду запаролен? |
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. Моя БД открыта и доступна для просмотра и редактирования. Рад что возникают вопросы :) |
Дополнения по следующим пунктам.
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. |
sosed213,
Привет. Как дела. ОЧень рад что программисты РОждаются. Но должен тебя предупредить. Ты будешь в течение года заниматся программой. Будет 89 страниц на форуме. Понимаю ты хочешь получить ОПЫТ, и занять свою НИШУ. Но я скажу тебе так. Глупо создавать то что и так имеется, лучше использовать готовое. Я понимаю ты хочешь принести пользу. Вообще чтобы писать такого рода программы. Их нужно писать Для большой аудитории, и большим количеством программистов. Не трать время на пустые затеи. Лучше присоединись к проекту РОМЕО. Посмотри на эти проекты и прими решение. http://forum.oszone.net/thread-127858.html http://forum.oszone.net/thread-137276.html http://forum.oszone.net/thread-116304-27.html |
BadPointer, спасибо.
7za.exe - неиспользуется. Зря я его положил в архив. Про devcon 32 и 64 понял, спасибо. 7z заменю на версию 9. Фильтр я использую затем, что мне ненужны драйвера на монитор, и клавиатура :) Буду работать в следущем направлении. Определять версию уже установленного драйвера и сравнимвать с имеющимеся. И с этим "07/25/2006, %DriverBuildID% - разберусь :) Спасибо. |
SOLON7, спасибо за совет и предложение.
Опыта в программировании у меня хватает, популярности я не ищу. Почему я написал свою программу, а не воспользовался тем что есть?! Писал программу конкретно под свои задачи, под мою сферу деятельности, учитывая что программа должна быть максимально простой, понятной и компактной. Я предложил свой вариант и не выдвигаю его на первое место, кому подходит, тот пользуется. То что уже выложено у меня это первый комочек, который будет совершенствоваться. Прошу, ненадо писать 89 страниц попусту, если проект интересен - помогите, подскажите, а если нет - лучше промолчите, и найдите то что интересно вам. Ваш скромняга Sosed213. |
Вложений: 1
sosed213, =))
Цитата:
2. Не помешало бы русифицировать Audio, LAN, CHipset. 3. Возникает Ошибка, см АТАЧ. 4. Сделать Вкладку для установки Дров, и отдельно для ОБНОВЛЕНИЯ дров. 5. Меня очень нервирует DSP так как тормозит!! 6. Не помешало бы указать ПРогресс распаковки дров (от 0 до 100 процентов). Вроде 7za позволяет делать CALLBACK функции. 7. Цитата:
8. Если тебе нужен Избыточный ХЕЛП, то можешь обратится к SAAVAAGE, он мне помогал с хелпом. |
Цитата:
|
Цитата:
А библиотеку 7z.dll использовать в VB6 не так то просто..., да и потеряет скорее всего в производительности |
romeo91, согласен с тобой.
|
SOLON7, Проект-то свой Up-Lite забросил, или он достиг совершенства?
|
Цитата:
Но появился проект лучше. http://forum.oszone.net/thread-137382.html К сведению проект NLITE разрабатывался с 2004 по 2008. Snakus, Прежде чем писать подумайте компетентны ли вы в Данном вопросе!! BadPointer, Цитата:
|
Цитата:
Даже относительно старый 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 по скоростным показателям. |
Цитата:
Цитата:
А вот сбора данных не из DPS, мне уже как год назад в моей ветке форума предлагали сделать чтение из реестра. Так что не все берется из DPS, идеи некоторые могут браться(и не только из DPS), но реализация всегда своя. Я всегда стремлюсь к оптимизации проекта разными путями (И расширением функционала и оптимизацией скорости), но не считаю DPS идеалом, к чему стоит стремится. Цитата:
|
Я отвечал на заявление 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. |
BadPointer, romeo91, Похоже вы меня заинтересовали проектом DIA.
РОМЕО. Можно я Предложу Замечания к вашему DIA по Интерфейсу. Можно было бы сделать Интерфейс более дружелюбным. Я сам уже занимаюсь компами с 95 года. Поэтому думаю что мои замечания по интерфейсу, будут вам полезны!! |
Цитата:
Только давайте не засорять чужую тему, а сделаем комментарий в соответствующей теме :) |
:) :)
|
Учитывая мнение специалистов в данной области, взяв во внимание советы пользователей, слегка подкоректировал программу.
На сегодня актуальная версия 3.3.0.220. На сайте можно скачать и посмотреть её. В версии 3.3.0.220 было изменино: Больше не используется devcon.exe Исправленны кое какие ошибки. Доработанно много мелочей. Увеличена скорость работа с 7z архивами. Это далеко не финальная версия программы, есть много идей по дароботке. По мере выхода новых версий буду отписываться. Зарание спасибо за отзовы. |
sosed213, не могли бы вы привести код сканирования HWID ???
Заранее признателен !! |
Цитата:
Посмотри для примера как в DRP реализовано... или вот читаем в виде пары фраз - метод сканирования... |
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 ??? |
SOLON7, исходники devcon'а на С++ есть в составе WinDDK.
Я залил эту папку с исходниками сюда: http://www.mediafire.com/?1vlyg57qwp5uc |
BadPointer, Весьма признателен !!!
|
Всем привет.
Я пользуюсь исходниками Devcon.exe для сканирования HWID's. Вот функции которыми я пользуюсь: SetupDiGetClassDevsA - для получения списка устройств SetupDiEnumDeviceInfo - для получения информации об устройствах Так-же сейчас работаю над установкой драйверов, как это делает Devcon, это функция UpdateDriverForPlugAndPlayDevicesA библиотекb newdev.dll. В 32-битной винде все работает отлично, а вот в 64 выдает ошибку. На сайте Microsoft читал что для x64 надо использовать функцию CreateProcess. А когда стал читать дальше и искать больше информации то понял. Microsoft рекомендует использовать CreateProcess для запуска Dpinst64.exe. Сейчас перебераю setupapi.h в надежде найти там чтонибудь для устаноки под x64. |
Цитата:
Ia64\DevCon.exe -----------64-разрядная программа DevCon. Похоже там разные точки входа в процедуру. Кажись PE заголовки 64-32 разрядных, разные... Надо создать отдельную тему для того чтобы рассматривать эти вопросы, так как Похоже уже многие стали заинтересованы в установке дров на разных системах!! Помнится говорили что исходники WIN2000 в сеть выкладывали. Можеn этом направлении что илбо можно найти!! |
Цитата:
|
SOLON7, если програмный код еще нужен то вскоре я его выложу.
Сегодня обновил программу для установки драйверов, теперь она более эффективная и наглядная. Скрин и ссылка есть в шапке темы или на сайте. У меня на работе (в сервисном центре) программа хорошо себя показала по скорости и качеству. |
|
SamLab, все верно, и работает правильно. Но не показывает потому что в inf - файлах, поставляемых производителями драйверов, не всегда учитывается синтаксис.
Например наличие секции NTamd64.6.1 в inf-файле говорит о том что драйвер на 100% предназначен под Windows 7 (6.1) и под x64 (NTamd64). Но эти правила почему то не всегда соблюдаются :( Хотя и странно что в режиме ALL, программа нашла драйвер всего на одно устройство?! |
sosed213, Тогда следует ввести как в DIA распределение по папкам или хотя бы в зависимости от имени архива распределять драйвера
|
SamLab, я считаю что это лишнее. Моя программа все же работает немного по другому принципу.
|
Я советую использовать стратегию из DPS(функция isCompatible), так как она экспериментально показала себя наиболее подходящей. Во время работы над DPS у меня тоже было что то перекашивало в сторону излишней фильтрации, то в сторону предложения несовместимых драйверов, пока не нашел оптимальную стратегию.
|
BadPointer, я подумаю над этим, но вряд-ли, т.к. у меня своя стратегия.
|
На озоне тоже писал- Создание DEVBD.mdb размером 60мб напрягает, и нужна опция на создание ErrDebug.log ErrDebugLoad.log лога, не всегда он нужен, и главное-хочеться с DVD устанавливать драйвера- а как тут быть?
И очень не хватает возможности указывать путь к драйверпакам по папкам- win7 или winxp например. |
Время: 00:31. |
Время: 00:31.
© OSzone.net 2001-