Как IE регистрирует элементы управления ActiveX для использования в браузере?
Это просто выполняет regsvr32 для DLL?
Компоненты ActiveX регистрируют себя, инициированный известной точкой входа DLL (DllRegisterServer
).
regsvr32
просто обертка вокруг загрузки DLL и вызова той точки входа. Другие инструменты могут сделать это непосредственно. Установщики иногда просто непосредственно обновляют реестр (записывавший изменения для создания при создании установщика).
Мое понимание - то, что это использует некоторые базовые API, которые использует regsvr32, но это не называет regsvr.exe. Элементы управления ActiveX состоят из файла на диске, обычно.DLL файл и некоторые ключи реестра. Ключи реестра привыкли к поиску местоположение фактического исполняемого кода, так как браузер не хотел бы указывать деталь файлы. Для ключей реестра возможно быть созданным различными способами включая механизм это использование regsvr32.
Создание ключей реестра в соответствии с Vista требует высокоуровневых полномочий и должно передать контроль учётных записей. Поэтому типичные пользователи не могут установить элементы управления ActiveX. Существует сервис помощника, который может сделать регистрацию средств управления от имени пользователя.
Это на самом деле не должно делать ни одной из этих вещей; файл CAB указывает то, что он на самом деле сделает. Это может использовать DllRegisterServer, и действительно это - наиболее распространенная вещь, но это могло также запустить MSI или установщик EXE, который может зарегистрировать элемент управления ActiveX в другом отношении.