Chlkat ActiveX v11 and v9.5 on the Same Computer

Running Chilkat v11.. and v9.5.0.* ActiveX on the Same Computer

It is possible to install and use Chilkat v11 and Chilkat v9.5 on the same computer at the same time. This works because each version registers different ProgIDs in the Windows registry.


How Windows Creates an ActiveX Object

When your program calls something like:

CreateObject("Chilkat.FileAccess")

Windows performs the following steps:

  1. Find the ProgID Windows looks up the ProgID (Chilkat.FileAccess) in the registry.
  2. Find the CLSID The ProgID points to a CLSID, which is a unique identifier for the COM class.
  3. Find the DLL The CLSID points to a registry entry such as:
    HKEY_CLASSES_ROOT\CLSID\{...}\InprocServer32
    

This registry entry contains the path to the DLL that implements the ActiveX class.

  1. Load the DLL Windows loads the DLL and creates the object.

In short:

ProgID → CLSID → DLL path → Load DLL

What is a ProgID?

A ProgID (Programmatic Identifier) is the text name used in code to create a COM object.

Typical format:

LibraryName.ClassName

Example:

Chilkat.FileAccess

ProgIDs Used by Chilkat Versions

The key to running multiple versions is that v9.5 and v11 use different library names.

Chilkat VersionProgID Example
v11.*Chilkat.FileAccess
v9.5.*Chilkat_9_5_0.FileAccess

Because the library names are different, Windows treats them as different components, even if both are installed.


Using Both Versions in Code

To use Chilkat v11:

Set fac = CreateObject("Chilkat.FileAccess")

To use Chilkat v9.5:

Set fac = CreateObject("Chilkat_9_5_0.FileAccess")

Each ProgID points to a different DLL, so both versions can be used on the same machine without conflict.


Installation Order

When installing v11 and v9.5, the order does not matter. Each version registers its own ProgIDs independently.


Summary

  • Chilkat v11 and v9.5 can coexist on the same computer.
  • They use different ProgIDs:
    • Chilkat.FileAccess → v11
    • Chilkat_9_5_0.FileAccess → v9.5
  • Each ProgID points to a different DLL in the Windows registry.
  • Your program simply chooses which version to use by selecting the appropriate ProgID.