Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 683

/ вопрос открыт /

Здравствуйте, уважаемые эксперты! Хотел создать подобие установщика драйверов ... использую такую команду :

ShellExecute(0, PChar('open'), PChar('C:\Windows\System32\rundll32.exe'), PChar('setupapi,InstallHinfSection DefaultInstall 132 ' + путь к inf файлу), nil, SW_SHOWNORMAL);

при этом ... вроде как она выполняется но драйвер не устанавливается. Почему? подскажите пожалуйста!

eclipse Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: eclipse (статус: Посетитель)
Вопрос отправлен: 26 октября 2010, 18:58
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 13; последнее сообщение — 28 октября 2010, 10:13; участников в обсуждении: 3.
Вадим К

Вадим К (статус: Академик), 26 октября 2010, 19:19 [#1]:

для начала я бы не закладывался на то, что
C:\Windows\System32\rundll32.exe'
всегда будет правильным
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 26 октября 2010, 19:36 [#2]:

Да я пробовал и без всяких выкрутасов ... просто так rundll32.exe ... всё равно ... без разницы (ну по крайней мере для того где стоит система у меня)
Вадим К

Вадим К (статус: Академик), 27 октября 2010, 10:26 [#3]:

а если с консоли запустить, то устанавливает?
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 27 октября 2010, 10:30 [#4]:

К стати пробовал в ручную ... правый клик на inf файле -> установить ... нефига почемуто... это от телефона дрова... на на звуковую CREATIVE встали.
Вадим К

Вадим К (статус: Академик), 27 октября 2010, 10:36 [#5]:

Не ругаться!

Можно вообще то попробовать выставить ещё рабочий каталог. Он скрывается за предпоследним параметром. То есть вместо nil нужно написать
PChar(ExtractFileDirectory(путь_к_inf_файлу))
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 27 октября 2010, 11:05 [#6]:

Не получается ...
Вадим К

Вадим К (статус: Академик), 27 октября 2010, 11:08 [#7]:

"не получается" - это ответ пользователя, а не программиста. Нужно описывать, что именно и как не получается. Что наблюдается и как.
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 27 октября 2010, 11:16 [#8]:

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

Вадим К (статус: Академик), 27 октября 2010, 11:41 [#9]:

нужно думать.
Для начала стоит посмотреть, что возвращает эта функция - там может быть ответ.
то есть, делаем так
var i:integer;
begin
i := ShellExecute(.......);
ShowMessage(inttostr(i));

Значение, которое возвращает функция - копируем сюда. Если она возвращает больше 32 - это значит все хорошо, если меньше - значит какая то ошибка. По этому коду можно будет гадать.
Галочка "подтверждения прочтения" - вселенское зло.
SOA

SOA (статус: Посетитель), 27 октября 2010, 13:16 [#10]:

На RSDN есть статья по написанию примитивного драйвера режима ядра, там есть пример простейшего инсталлятора драйвера
http://www.rsdn.ru/article/delphi/kmdelphi.xml
может поможет :)
eclipse

eclipse (статус: Посетитель), 27 октября 2010, 20:21 [#11]:

В общем снёс систему! пробовал ставить дрова своей прогой ... в общем те дрова которые просят подтверждение при установке (как например любой драйвер на видюху NVidia) не ставятся, а ставятся нормально те которые не требуют этакой фигни... но опять же дрова на сотик не встали.
Вадим К

Вадим К (статус: Академик), 27 октября 2010, 22:57 [#12]:

нужно искать параметры. что то типа silent или y - соглашаться со всем.
Галочка "подтверждения прочтения" - вселенское зло.
eclipse

eclipse (статус: Посетитель), 28 октября 2010, 10:13 [#13]:

Возможно... вечером попробую... отпишусь!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:01
Выполнено за 0.02 сек.