The Chilkat ActiveX components are standard ActiveX DLLs that need to be registered with regsvr32.exe. All Windows computers, from Windows 95 on up, have a regsvr32.exe installed in the Windows or Windows/System32 directory. Any ActiveX DLL can be manually registered by opening a DOS command prompt and typing "regsvr32 MyActiveX.dll", where "MyActiveX.dll" is the name of the DLL. If you’re current directory is not set to where the DLL is located, you’ll have to specify the path to the DLL, such as:
regsvr32 c:\"Program Files"\"Chilkat Software Inc"\"Chilkat Mail ActiveX"\ChilkatMail2.dll
Most installer programs will automatically recognize a DLL as an ActiveX when it is added to a setup/deployment project such that during install, the DLL is automatically registered.
In a nutshell, regsvr32.exe asks the ActiveX to insert entries into the Windows Registry so that the DLL’s location can be found by name. For example, after registering the Chilkat Mail ActiveX, you can create an instance of the MailMan2 object like this:
set mailman = CreateObject("Chilkat.MailMan2")
Without going into all the gory details, the registry contains these keys:
HKEY_CLASSES_ROOT
|
-- Chilkat.MailMan2
|
-- CLSID -- {A46E5261-9956-4767-88CA-DFCED050D09E}
HKEY_CLASSES_ROOT
|
-- CLSID
|
-- {A46E5261-9956-4767-88CA-DFCED050D09E}
|
-- InProcServer32 -- c:\Program Files\Chilkat Software Inc\Chilkat Mail ActiveX\ChilkatMail2.dll
The CLSID is obtained from the version-independent name (Chilkat.MailMan2), and then the file location is determined from the CLSID.
You can see that the ActiveX DLL can be located anywhere on your computer. (It does not need to be placed in the Windows/System32 directory.) However, once the DLL is registered, it should not be moved — otherwise the pointer from the registry is no longer valid.