PDA

Показать полную графическую версию : Программа установки драйверов


Страниц : 1 [2] 3 4 5

IvanVL
24-02-2009, 02:24
1) запускаем на мощном ПК программу - получаем файл ID.dbf »
Так и можно сделать. Запустите на мощном пк программу и уберите галочку использовать временную папку, нажмите "обновить...",база создасться в директории ..\, пАтом несете все это на нужный комп, и запускаете там программу, нажимаете кнопку "обновить..." программа сообщает что нашла базу в ..\, скопировать во временную папку, соглашаетесь и все.

2) отмечаем нужные драйвера »
У меня в базе 17000 записей, не реально в таком количестве что то искать.

Об остальном, подумаю.

mercuryn
24-02-2009, 09:28
IvanVL, К сожалению, пока не видно режима анализа отдельного или группы пакетов драйверов без привязки к конкретной машине. »

У меня в базе 17000 записей, не реально в таком количестве что то искать. »
С поиском проблема не очень понятна.
А зачем Вы HWID обрезаете???

Mr dUSHA
24-02-2009, 10:28
а еще мысль после того как нужный inf выбран чтобы программа извлекла из 7z архива только те файлы которые упоминаются в данном inf файле, а не всю подпапку где он лежит »
Это уже потенциальный баг. Многие драйвера ставятся частично через соустановщик, так что часть файлов, устанавливаемых драйвером, в его ИНФе не упоминается вообще.

SamLab
24-02-2009, 22:28
Исправьте ошибку "Драйвера распакованнй в папку"
PS - и когда в папке нет архивов все равно все шаги установки проделывает

IvanVL
26-02-2009, 04:08
Нажел баг переделываю весь алгоритм.

А зачем Вы HWID обрезаете??? »
Просто ven_....&dev...., разве не достаточно, или полный HWID, точнее? И уточните в какой программе и в каком месте.

Переделан алгоритм работы с inf, ранее inf файлы рассматривались как обычные текстовые, теперь как структурированный файл, соответственно закоментированные строки не попадают в базу, в связи с этим теперь попадают в базу инфы написанные в unicod, ранее не попадали.
Изменение касается WorkDrv и AnalysisDRV

mercuryn
26-02-2009, 09:08
IvanVL, необходим полный HWID.

IvanVL
26-02-2009, 09:22
IvanVL, необходим полный HWID. »
Это при анализе дублирующихся идентификаторов?

А что делать вот с этим чудом ql12160_Inst,PCI\VEN_1077&DEV_1216&SUBSYS_00071077,PCI\VEN_1077&DEV_1016&SUBSYS_00081077,PCI\VEN_1077&DEV_1216&SUBSYS_00078086,PCI\VEN_1077&DEV_1216&SUBSYS_001215D4? Это все в одной строке записано!
Не особо хочется из за одного двух случаев код переписывать.
Но наверное сделаю, позже.

Mr dUSHA
26-02-2009, 11:36
А что делать вот с этим чудом ........... Это все в одной строке записано! »

Как-то так:
1). Получаешь количество полей в строке как-то так: FildCount = SetupGetFieldCount(...)
2). В цикле функцией SetupGetStringField(...) с этой строки получаешь поля с индексами от 2 до FildCount включительно.
;)

IvanVL
27-02-2009, 09:42
Обновил программу

mercuryn
28-02-2009, 11:51
Вроде получился файл ID.dbf, который можно дальше анализировать средствами MS Access...
Неудобно, что нельзя выбирать папку с драйверпаками и только необходимые для анализа архивы. Примером может служить экран выбора драйверпаков в ГУИ Boa Soft.
Нет возможности сохранить ID.dbf с другим именем.
Т.е., оформление слишком лаконично и его развитие крайне необходимо...

dim-soft
28-02-2009, 20:30
Это уже потенциальный баг. Многие драйвера ставятся частично через соустановщик, так что часть файлов, устанавливаемых драйвером, в его ИНФе не упоминается вообще. »

а как windows (на каком этапе) понимает что надо еще файл ?

IvanVL
02-03-2009, 04:46
Неудобно, что нельзя выбирать папку с драйверпаками и только необходимые для анализа архивы »
Уважаемый mercuryn, в первом посте есть ссылка на 2 программы, пожалуйста уточняйте которую вы используете.


В скором времени, если Бог позволит, собираюсь доработать программу WorkDrv, а именно:
1. Настройки и некоторые значения переменных(название баз,...) будут храниться в ини файле.
2. Возможность выбора нужных архивов, предварительно список можно будет заполнить из директории драйверов.
3. Сделать 2 режима работы программы, без вопросов и с оповещением по каждому шагу (настройку делать в ини).
4. Добавить анализ дублей идентификаторов драйверов, отдельная программа анализа прекратит своё существование.
5. Поиск драйвера по ид в базе ид и извлечение его из архива.

Но для начала немного передохну' !
Думаю что не долго,но еще же и работа есть :-)

mercuryn
02-03-2009, 21:09
IvanVL, есть ссылка на 2 программы, пожалуйста уточняйте которую вы используете. »
В принципе не важно, каким файлом воспользоваться для анализа, ID.dbf или Double.dbf. Они оба содержат необходимую информацию, Double.dbf несколько покороче...
Попытаюсь Вам объяснить, почему оба эти файла всего лишь сырой исходный материал.
- В одной папке могут быть подпапки с инфами для Win2000, Win3003 и WinXP (Vista) (для части драйверов добавляются ещё и другие вариации). HWIDы, естественно, для всех ОС будут совпадать, а версии драйверов могут быть разные. Комбинации такого вида не интересны, если только для определения принадлежности inf к конкретной (ым) ОС, что является очень сложной задачей.
- В конечном итоге интересны HWID в инфах в разных папках с разными версиями драйверов.
Примером (с правильным решением) могут служить наборы драйверов iastor с разными версиями, но не пересекающимися HWID.
Примером обратным могут быть наборы драйверов с разными версиями и пересекающимися HWID NVIDIA, ATI, nForce и т.д
Для такого типа наборов драйверов выберутся самые свежие из имеющихся, что не всегда есть хорошо, а скорее всего синий экран...
Для обеспечения развязок по HWID таких драйверов и требуется то, что должно называться Программа анализа дублей идентификаторов драйверов с возможностью корректировки нужных inf (возможно с использованием специальной таблицы).
Первый шаг сделан, что уже хорошо...
PS
Не всегда возможно выбрать правильный драйвер вручную, не зная или не понимая его его inf...

IvanVL
04-03-2009, 07:49
mercuryn, Обновил AnalysisDRV. Посмотри, так лучше?

mercuryn
04-03-2009, 13:41
Посмотри, так лучше? »
Лучше. Постараюсь вечером успеть с комментарием...

IvanVL
05-03-2009, 02:39
mamont1, Обнаружил ошибку: чувствительность к регистру в инф, в новой версии исправлю.
Для полной уверенности выложите %Temp%\WorkDrv\DevInf, с того компа на котором не удается обнаружить драйвер, и укажите идентификатор устройства для которого не найден драйвер, присутствующий в пакете драйверов.

Сделал новую версию, устранена ошибка и настройки перенесены в ини файл

mamont1, отпишись пожалуйста!

IvanVL
06-03-2009, 02:38
mamont1, проблемму обнаружил постараюсь решить. Проблемма в том что в моей программе не учитывается альтернативные идентификаторы.

SOLON7
09-03-2009, 03:53
Интерфейс программы не очень привлекательный.
Какие премущества у вашей программы в сравнении с DRP ?????

mercuryn
09-03-2009, 10:57
Интерфейс программы не очень привлекательный.
Какие премущества у вашей программы в сравнении с DRP ????? »
А Вы сами сравните...

IvanVL, к сожалению были проблемы, поэтому только сейчас смог возвратиться к вопросу об анализе.
Во всех пакетах драйверов структура папок одинакова и насчитывает три уровня - D\Y\X. Все последующие уровни папок представляют собой дополнительные драйвера других операционных систем и интереса для XP не представляют. Если эти уровни в анализе не использовать, то количество лишних дублей резко сократиться...

IvanVL
11-03-2009, 08:07
Обновил обе программы, учел предыдущий пост тестим.




© OSzone.net 2001-2012