ActiveX components are DLLs. The only installation requirement is that the .dll file is copied onto the filesystem and registered using regsvr32.exe. The DLL may be placed in any directory location. However, once it is registered it cannot be moved.
Most installer programs automatically recognize DLLs that are ActiveX components (or controls) and will automatically register them when the software is installed.
Note: Not all DLLs are ActiveX’s. .NET assemblies are also DLLs, but they are not ActiveX components.
What’s the difference between an ActiveX component and an ActiveX control? A "component" does not have a visual interface whereas a "control" does.
What is an .OCA file?
An .OCA file is a binary file that functions as both an extended type library file and a cache for the custom control file. A type library is a file or component within another file that contains OLE Automation standard descriptions of exposed objects, properties, and methods. The actual working type library for a custom control used in Visual Basic is a combination of the type library of the control itself and the additional properties provided by the framework that wrap the control.
Some of the properties of the control are provided by the framework and some by the control itself. Programmatically, the properties from the framework and the control all appear as properties of the control.
In order for these properties to appear, Visual Basic creates an extended type library when the control is loaded into the toolbox. Because the process of reading the control’s type library and creating the extended type library is time consuming, Visual Basic caches the extended type library information into an OCA file.
If you delete the OCA file for a control Visual Basic recognized, Visual Basic will recreate the .OCA file when you load a project requiring the control. This recreation process comes with a time penalty.
Updating an ActiveX If you download and install a new version of an ActiveX control and place it in another directory, the old ActiveX is no longer available to programs. That’s because the registry entries point to the new file location.
Updating an ActiveX for ASP If an ActiveX has been used in classic ASP, it may be holding a lock on the .dll file that prevents it from being overwritten. If you are installing a new version/build of an ActiveX such that the new DLL will overwrite the old one, make sure IIS is not running when you do the install.