|
Вопрос # 4 683/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты! Хотел создать подобие установщика драйверов ... использую такую команду :
ShellExecute(0, PChar('open'), PChar('C:\Windows\System32\rundll32.exe'), PChar('setupapi,InstallHinfSection DefaultInstall 132 ' + путь к inf файлу), nil, SW_SHOWNORMAL);
при этом ... вроде как она выполняется но драйвер не устанавливается. Почему? подскажите пожалуйста!
 |
Вопрос задал: eclipse (статус: Посетитель)
Вопрос отправлен: 26 октября 2010, 18:58
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 13; последнее сообщение — 28 октября 2010, 10:13; участников в обсуждении: 3.
|
Вадим К (статус: Академик), 26 октября 2010, 19:19 [#1]:
для начала я бы не закладывался на то, что
C:\Windows\System32\rundll32.exe'
всегда будет правильным
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 26 октября 2010, 19:36 [#2]:
Да я пробовал и без всяких выкрутасов ... просто так rundll32.exe ... всё равно ... без разницы (ну по крайней мере для того где стоит система у меня)
|
|
Вадим К (статус: Академик), 27 октября 2010, 10:26 [#3]:
а если с консоли запустить, то устанавливает?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 27 октября 2010, 10:30 [#4]:
К стати пробовал в ручную ... правый клик на inf файле -> установить ... нефига почемуто... это от телефона дрова... на на звуковую CREATIVE встали.
|
|
Вадим К (статус: Академик), 27 октября 2010, 10:36 [#5]:
Не ругаться!
Можно вообще то попробовать выставить ещё рабочий каталог. Он скрывается за предпоследним параметром. То есть вместо nil нужно написать
PChar(ExtractFileDirectory(путь_к_inf_файлу))
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 27 октября 2010, 11:05 [#6]:
Не получается ...
|
|
Вадим К (статус: Академик), 27 октября 2010, 11:08 [#7]:
"не получается" - это ответ пользователя, а не программиста. Нужно описывать, что именно и как не получается. Что наблюдается и как.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 27 октября 2010, 11:16 [#8]:
В общем как правило происходит обновление на раб.столе (маргают иконки) но драйвер не ставится... а на звуковую карту сперва он как бы ставится... в дисп. устройств устройство сперва было с вопросом (написано мультимедиа аудиоконтроллер) после установки через программу мою надпись не меняется а добавляется уже в раздел аудио устройства... но до конца не ставится
|
|
Вадим К (статус: Академик), 27 октября 2010, 11:41 [#9]:
нужно думать.
Для начала стоит посмотреть, что возвращает эта функция - там может быть ответ.
то есть, делаем так
var i:integer;
begin
i := ShellExecute(.......);
ShowMessage(inttostr(i));
Значение, которое возвращает функция - копируем сюда. Если она возвращает больше 32 - это значит все хорошо, если меньше - значит какая то ошибка. По этому коду можно будет гадать.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 27 октября 2010, 20:21 [#11]:
В общем снёс систему! пробовал ставить дрова своей прогой ... в общем те дрова которые просят подтверждение при установке (как например любой драйвер на видюху NVidia) не ставятся, а ставятся нормально те которые не требуют этакой фигни... но опять же дрова на сотик не встали.
|
|
Вадим К (статус: Академик), 27 октября 2010, 22:57 [#12]:
нужно искать параметры. что то типа silent или y - соглашаться со всем.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 28 октября 2010, 10:13 [#13]:
Возможно... вечером попробую... отпишусь!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|