PDA

Показать полную графическую версию : Snappy Driver Installer (программа для установки и обновления драйверов)


Страниц : 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

BadPointer
12-02-2014, 15:48
timon45, если программу запускал с флешки, то все логи должны остаться в папке logs. Хотя в данном случае я вижу на скрине что они записались в C:\users\admin\SDI.

batyaPS
13-02-2014, 13:05
batyaPS, неожиданный вопрос, но есть. http://yadi.sk/d/1A6GsAbHHj6kS »
доброго дня, не сочтите за наглость, всё хорошо работает, есть просьба - можно убрать автовыход и предложение о перезагрузке ?

Smokie_BlahBlah
13-02-2014, 13:27
batyaPS, исходники утеряны. при декомпиляции проблеммы с русскими символами. не могу пока

Fortress1
13-02-2014, 20:44
исходники утеряны. при декомпиляции проблеммы с русскими символами. не могу пока »

вот декомпилированный твой exe c учетом кодировки русских символов

http://yadi.sk/d/SfstvkMrHqdEM

Smokie_BlahBlah
13-02-2014, 20:53
Fortress1, эммм.... декомпилированность предполагает исходники, а не exe

BadPointer
13-02-2014, 21:17
В шапке выложена новая версия программы: R14.

Список изменений в R14 по сравнению с R8:

Множество значительных исправлений в алгоритме ранжирования драйверов. Я очень признателен Sorc за помощь в тестировании этих проблем.
Изменилась структура каталогов. Удалите settings.cfg со старыми настройками.
Добавлен украинский язык (перевод от samsobi).
Добавлены метки к кнопкам драйверов для удобства визуального поиска драйвера в списке и в логе. Метка выглядит как знак доллара и четырехзначное число (например: $0042) на подсказках при удерживании Ctrl или Пробела над драйвером. Каждая кнопка имеет свою уникальную метку, которая не меняется при различных режимах фильтрации. Удобство меток заключается что по ней проще искать драйвер в списке, чем по названию вроде “Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller”.
Добавлена информация о состоянии устройства в подсказке при наведении на драйвер.
Добавлена команда –install <hwid> <inffile> для установки драйвера из inf файла. Поддерживается установка как 32 разрядных, так и 64 разрядных драйверов.
Добавлены команды -finish_cmd и -finishrb_cmd, которые позволяют задать команду, выполняющуюся по завершении установки драйверов в режиме –autoinstall. Команды можно прописать в settings.cfg, а для запуска с ключом –autoinstall советую создать bat файл.
Исправлены опечатки в языковых файлах.


Мои ближайшие планы:

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

Fortress1
14-02-2014, 12:37
предполагает исходники, а не exe »
а там не он выложен?

timon45
16-02-2014, 12:01
если программу запускал с флешки, то все логи должны остаться в папке logs. Хотя в данном случае я вижу на скрине что они записались в C:\users\admin\SDI. »
программа запускалась с сетевого диска (я привык уже так работать). В общем попали мне в руки ещё два ноутбука проблем с не установкой не было, что очень радует. Общие замечания к программе:
1. Не умеет определять драйвера на тачпады, (предлагает установить с драйверпака для Dell, на ноутбук Asus) это не критично, на раннем развитии программы.
2. Не предлагала установить драйвера на видео пока, не поставлю экспертный режим.
3. Последняя версия выдавала ошибки R14 при установки по сети.
http://s019.radikal.ru/i624/1402/a8/20a669177637t.jpg (http://radikal.ru/fp/2caa46a7667547b09c10a12747b1a644)
http://rghost.ru/52458326

лиги по первым двум пунктам (не исключено что там каша но думаю вы разберетесь :))
http://rghost.ru/52458382

BadPointer
16-02-2014, 14:16
timon45,
1. Судя по логу прога ошибочно определила ноутбук ASUS как десктоп(это видно при наведении на панель информация о системе). Если бы не этот баг то был предложен [Allx64\Asus_nb\16.3.9.0\SynPD.inf| Synaptics|16.3.9.0 | *SYN0A17 | Synaptics PS/2 Port TouchPad].
Этот баг уже исправлен в R15, пока можно нажать на F5, чтобы обновить информацию о системе повторно.
На ноутбук Acer был предложен драйвер с маркером Dell_nb. Как видно из таблицы при удерживании пробела над драйвером, кроме драйверов для Dell были найдены только драйверы для Lenovo, а Dell оказался вверху списка за счет более поздней даты драйвера.
Сейчас SDI не предлагает на десктопы драйверы с ноутбучными маркерами, для ноутбуков ищет наиболее подходящий драйвер среди всех маркеров _nb, не учитывая название фирмы. Я так делаю чтобы посмотреть насколько программа сможет самостоятельно подбирать драйвер, не полагаясь излишне на маркеры.
2. Не совсем понял что имеется ввиду. Но в R16 стандартный драйвер видео по умолчанию теперь считается как неустановленный, а значит он всегда предлагается когда стоит галка "Неустановленные".
3. Все ошибки были корректно обнаружены и обработаны так как лог все-таки создался и русский язык загрузился. В данном случае все в порядке.

Уже существует R17, но не каждая ревизия может использоваться конечным пользователем, так как часть работ над программой находится в незавершенном состоянии и там могут баги, которые должны быть исправлены до релиза. Я выпущу новую версию, когда я закончу то, что я наметил.
Посмотреть описание ревизий можно здесь:
https://code.google.com/p/snappy-driver-installer/source/list

vserd
17-02-2014, 01:27
SDI R14
settings.cfg
1. просьба добавить поддержку переменных среды "-log_dir:%temp%\SDI_logs" (это функция ExpandEnvironmentStrings win API). Ожидается создание папки типа C:\users\username\temp\sdi_logs
что такое переменные среды можно посмотреть так: выполнить -> cmd /k, затем help set

2. можно сделать так чтобы если в файле settings.cfg параметры находятся на разных строках, их тоже подхватывать.
например : "-theme:Metallic" -license -expertmode работает.
не работает.
"-theme:Metallic"
-license -expertmode
ну и наверное сразу определиться с символом комментария.

И пожелание на доработку.
В любом режиме (что ручной, что автомат) создаем список установленых в этом сеансе драйверов. Вида VID_xxxx&PID_XXXX.
В SDI вводится вводится команда "Драйвер VID_xxxx&PID_XXXX устанавливался в этом сеансе"? возврат 1 - да, 0 - нет
Пример использования, в Батник.CMD прописываем:
REM устанавливаем драйвера
SID.exe

REM определяем что драйвер установлен в этом сеансе
SID.exe IsDriverInstalled=VID_0489&PID_E02C
if %Errorlevel%=1 RunSetup.exe

В итоге если драйвер установлен будет запущен RunSetup.exe.

Зачем нужно. Есть у меня диктофон, драйвер паком нормально устанавливается,
но к нему нужно ставить программу, вот и хочется автоматизировать.
Если поставили драйвера, поставим программу. Если не поставили, ничего не происходит.

Вроде еще где-то было подобное, что при установке драйверов необходимо ставить софт, чтобы железяка работала.
Такой функционал позволит не усложнять DP, и в тоже время позволяет,
при необходимости, добавить нужную функцию.

BadPointer
17-02-2014, 12:55
1. просьба добавить поддержку переменных среды "-log_dir:%temp%\SDI_logs" (это функция ExpandEnvironmentStrings win API). Ожидается создание папки типа C:\users\username\temp\sdi_logs
что такое переменные среды можно посмотреть так: выполнить -> cmd /k, затем help set »
Сделаю. Кстати, R14 при невозможности создать логи в указанной папке, записывает их в %HOMEDRIVE%%HOMEPATH%\SDI.

2. можно сделать так чтобы если в файле settings.cfg параметры находятся на разных строках, их тоже подхватывать.
например : "-theme:Metallic" -license -expertmode работает.
не работает.
"-theme:Metallic"
-license -expertmode
ну и наверное сразу определиться с символом комментария. »
В settings.cfg сохраняются только определенные параметры и перед закрытием программы этот файл полностью переписывается, что затрудняет сохранение пользовательского форматирования. Я думал о создании второго конфигурационного файла, который будет редактироваться только пользователем, но я решил что это избыточно, так как проще создать несколько bat файлов для разных ситуаций, чем один конфигурационный файл.

И пожелание на доработку.
В любом режиме (что ручной, что автомат) создаем список установленых в этом сеансе драйверов. Вида VID_xxxx&PID_XXXX.
В SDI вводится вводится команда "Драйвер VID_xxxx&PID_XXXX устанавливался в этом сеансе"? возврат 1 - да, 0 - нет »

Разве это уже нельзя реализовать используя –install <hwid> <inffile>?
Коды возврата: 1(успешно), 0x80000000(успешно, но требует перезагрузку). Остальные значения - коды ошибок.

Вроде еще где-то было подобное, что при установке драйверов необходимо ставить софт, чтобы железяка работала.
Такой функционал позволит не усложнять DP, и в тоже время позволяет,
при необходимости, добавить нужную функцию. »
При установке драйверов через DPInst некоторые драйверы не полностью устанавливаются. Например, у драйвера видео не ставилась панель NVIDIA. Для решения этой проблемы применялся так называемый finisher. Но при установке через devcon или диспетчер устройств все ставится нормально и без finisher.

DPS давно перестал использовать DPInst и перешел на devcon.
DIA до сих пор использует DPInst.
SDI использует ту же функцию Win32API, что и devcon.

sov44
17-02-2014, 13:03
BadPointer, Можно ли добавить функцию удаления драйверов, вызывающих BSOD, запуская программу в безопасном режиме?

BadPointer
17-02-2014, 13:32
sov44, могу сделать такую функцию в контекстном меню драйвера, но удалить драйвер также можно и через Диспетчер устройств. Кроме того, можно откатить систему назад используя точки восстановления.

sov44
17-02-2014, 15:29
BadPointer, то есть в безопасном режиме программа в контекстном меню покажет, какой драйвер вызывает BSOD даст возможность его удалить?

BadPointer
17-02-2014, 17:02
sov44, нет, я думал речь идет об удалении драйверов из системы. Каким образом программа должна сама определять какой именно драйвер вызывает BSOD?

sov44
17-02-2014, 17:13
Каким образом программа должна сама определять какой именно драйвер вызывает BSOD? »
например http://www.nirsoft.net/utils/blue_screen_view.html

vserd
17-02-2014, 17:42
Разве это уже нельзя реализовать используя –install <hwid> <inffile>? »
Если говорить по устновке одиночного устройства то, можно.
Мне не столько нужно знать что драйвер установлен в системе, сколько факт что драйвер установлен в текущем сеансе.
И соответственно вызвать дополнительные телодвижения если установлен.

Например:
Если запустили SDI и ничего не установли, то ничего и не происходит по моему драйверу.
Если запустили SDI и установили другой драйвер, то ничего не происходит по моему драйверу.
Если запустили SDI и установили мой драйвер, то вызываем мою доп. обработку.

вариант реализации:
1. Сделать параметр "Сохранить список установлненных в текущем сеансе драйверов". В параметре путь к файлу. или кидать
в %TEMP%\фиксированное имя
2. другой параметр "Драйвер установлен в сеансе?" Вход VID/PID, путь к файлу из предыдущего пункта. Выход exitcode 0|1|2
0 нет, 1 да, 2 -обновлен (если есть такая возможность в основном установщике).

PS. чем собирать исходники?

то есть в безопасном режиме программа в контекстном меню покажет, какой драйвер вызывает BSOD даст возможность его удалить? »
"Даст его удалить" это реализуемо.

Показать что именно этот драйвер вызывает BSOD очень проблематично. Все равно, прийдется использовать "серое вещество прокладки между клавиатурой и стулом" ака мозг пользователя.

BadPointer
17-02-2014, 19:00
PS. чем собирать исходники? »
Инструкция по сборке тут:
https://docs.google.com/document/d/1L5mfMekY9WrFmGSJKttbvJTi-t6jxkTYTlQQq6m-g_g/edit

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

Painkiller
24-02-2014, 23:51
BadPointer , протестировав утилиту , скажу что очень порадовала . Ее сейчас использую за основную вместо DPS . Скорость индексации радует. Установка дровишек пока без косяков . За ней будущее.. Очень надеюсь проект не умрёт !

Fortress1
26-02-2014, 21:44
BadPointer, а где можно увидеть ченджлог?




© OSzone.net 2001-2012