УЧЕБНИК ПО АВТОУСТАНОВКЕ WINDOWS


5.Выполнение INF-файла через Rundll32.exe - часть 2


Параметр 132 - рекомендованный режим перезагрузки (после "выполнения").


Каким образом интерпретатор определяет необходимость перезагрузки? Если при "выполнении" обновлялись системные файлы, и хотя бы один из них не смог быть обновлён из-за того, что в это время использовался системой, то перезагрузка необходима (сразу после перезагрузки произойдёт обновление файлов и процесс будет завершён).

Rundll32.exe может работать в режиме совместимости с Win9X (rundll32 setupx.dll) и в режиме совместимости с NT (rundll32 setupapi.dll). Одним из отличий 9X и NT вариантов выполнения является набор используемых констант LDID (logical directory identifier - переменных путей к системным папкам).

Важно! Именно через Setupx.dll (Setupapi.dll), происходит выполнение INF-файла при запуске его из контекстного меню командой "Установить". 

  •  Вызов через advpack.dll

Синтаксис

RunDll32.exe advpack.dll, LaunchINFSectionEx <inf-file>, <section>, <cab>, <flag1>, <flag2>, 0


1. <inf-file> имя и путь к INF-файлу

2. <section> Исполняемая секция

3. <cab> Путь к CAB-файлу если INF-файл запакован (в этом случае параметр <inf-file> просто содержит имя файла без пути)

4. <flag1> - Флаг режима установки

5. <flag2> - Флаг перезагрузки

6. <0- nShow> не используется, равен 0, приведен только для информации о синтаксисе функции.

 Флаг режима установки:

4      Тихий режим без UI

8      Не запускать GrpConv

16   Обновление программы (Force self-updating on user's system)

32   Сделать резервные копии файлов (точку отката) до установки

64   Откатиться до предыдущего состояния

128 Проверить резервные копии файлов

256 Полностью откатиться до предыдущего состояния

512 Принудительная задержка регистрации OCX (Force delay of OCX registration) 

Эти флаги могут складываться.


Начало  Назад  Вперед



Книжный магазин