How does IE register ActiveX controls for use in the browser?

Does it just run regsvr32 for the DLL?

  • 1
    Would this be better suited for StackOverflow? – Josh Hunt Aug 24 '09 at 1:18
  • I put it here because I'm not programming anything - I'm trying to learn about how Windows handles other peoples' websites. – ChristianLinnell Aug 24 '09 at 1:29
  • I think this is a great question, and is not a pure programming question. – Brian Lyttle Aug 24 '09 at 2:05

ActiveX components register themselves, triggered by a well known DLL entry point (DllRegisterServer).

regsvr32 is just a wrapper around loading the DLL and calling that entry point. Other tools can do this directly. Installers sometimes just directly update the registry (having recorded the changes to make when building the installer).


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.