How does IE register ActiveX controls for use in the browser?
Does it just run regsvr32 for the DLL?
|
How does IE register ActiveX controls for use in the browser? Does it just run regsvr32 for the DLL? |
|||||||||
|
|
ActiveX components register themselves, triggered by a well known DLL entry point (
|
|||
|
|
|
My understanding is that it uses some of the underlying APIs that regsvr32 uses, but it doesn't call the regsvr.exe. ActiveX controls are composed of a file on disk, typically a .DLL file, and some registry entries. The registry entries are used to lookup the the location of the actual executable code since the browser would not want to specify a particular files. It is possible for the registry entries to be created in a number of ways including the mechanism that regsvr32 uses. Creation of registry entries under Vista requires higher level privileges and must pass UAC. Therefore standard users cannot install ActiveX controls. There is a helper service that can do the registration of controls on behalf of the user. |
|||
|
|
|
It actually doesn't have to do any of these things; the CAB file specifies what it will actually do. It may use DllRegisterServer, and indeed this is the most common thing, but it could also launch an MSI or EXE installer that may register the ActiveX control in another way. |
|||
|
|