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

       

Регистрация и отмена регистрации библиотек (AdvpackINF)


    Существует тип самоустанавливающихся библиотечных файлов, которые в своих ресурсах содержат INF-скрипт для передачи системе нужных настроек для корректной работы библиотеки. Такие библиотеки имеют аббревиатуру OCX. Что это значит - неизвестно. Запуск INF-скрипта на выполнение из ресурсов библиотеки называется регистрацией библиотеки. Как правило, все INF-скрипты подобного рода содержат выполняемую секцию для удаления настроек библиотеки и выполнение этой секции называется отменой регистрации библиотеки. Для выполнения секций внедрённого в ресурсы скрипта в библиотеке должна существовать стандартная функция с внешней точкой входа, которая при вызове её извне регистрировала бы библиотеку. Имя точки входа должно быть известно программе, инициализирующей регистрацию. Стандартные названия точек входа для регистрации и отмены регистрации библиотеки таковы:DllRegisterServer, DllUnregisterServer. Существует стандартная системная программа regsvr32.exe, которая выполняет INF-скрипт, предоставляемый библиотекой по этим точкам входа. Для регистрации библиотеки необходимо запустить эту утилиту, передав путь и имя библиотеки параметром командной строки. Формат параметров командной строки утилиты RegSvr32:

regsvr32.exe [/u] [/s] [/n] [/i[:строка]] библиотека

/u - Вызов функции DllUnregisterServer, отмена регистрации библиотеки

/s - Тихий режим, отсутствие диалоговых и информационных окон (полезно в пакетном режиме)

/i - Вызов функции DllRegisterServer, регистрация библиотеки. опциональная строка - другое имя точки входа для выполнения пакета процедур

/n - Не вызывать функцию DllRegisterServer. Требует параметра /i:строка

   

Полный путь к файлу библиотеки необходим в случае, если библиотека находится не в системном каталоге Windows. Также, при запуске без ключей, лишь с указанием библиотеки, regsvr32 по умолчанию пытается зарегистрировать библиотеку. Чтобы запустить регистрацию библиотеки из скрипта, обратитесь к разделу "Последовательное выполнение списка команд (AdvancedINF)"

Интерпретатор AdvancedINF умеет самостоятельно выполнять регистрацию и отмену регистрации библиотек, используя параметры RegisterOCXs и UnregisterOCXs в выполняемой секции. Пример:

[DefaultInstall]

RegisterOCXs=rocx.section

UnregisterOCXs=uocx.section

[rocx.section]

filename.dll

[uocx.section]

filename2.dll



Содержание раздела