SocketTools ActiveX Redistribution

When you create an application using the SocketTools ActiveX Edition controls and you’re ready to deploy it, you must ensure the controls you’re using are initialized correctly. If you are developing with Visual Basic 6.0, and you’ve placed the controls on a form, it will automatically initialize the controls when the form is loaded.

However, in some cases you must explicitly initialize the control, providing a runtime license key to the Initialize method. It is important to note your runtime license key is not your product serial number.

If you have an evaluation version of SocketTools, you will not be able to redistribute your application until you have a runtime license key. During the evaluation period, your application will only work on the development system where SocketTools has been installed. After you’ve purchased a development license, you’ll be able to create a runtime license key and redistribute your application.

Class Initialization

You may need to explicitly initialize the SocketTools ActiveX control if the control is created dynamically. For example, if you’re using a method like CreateObject in Visual Basic or referencing the control in a .NET application, you will need to initialize the control. For more information, refer to the Initialize method in the Technical Reference documentation.

After you’ve created an instance of the control, and before you set any properties or call any other methods, call the Initialize method and pass the runtime license key string as its argument. You should always check the return value from the Initialize method to ensure the class instance has initialized correctly.

You can generate the runtime license key using the License Manager utility included with the software. Select License | License Key from the menu to display the runtime license key, or use License | Header File from the menu and then choose your language from the dropdown list to generate a file which contains the key.


When redistributing your application to another system, make sure you install the SocketTools ActiveX controls you’re using in the correct system folder. If you are deploying your application to a system running the 32-bit version of Windows, you should install the 32-bit version of the controls in the \Windows\System32 folder.

If you are deploying your application to a system running the 64-bit version of Windows, you should install the 32-bit controls in the \Windows\SysWOW64 folder, and the 64-bit controls in the \Windows\System32 folder. Because Visual Basic 6.0 is only capable of creating 32-bit executables, you should only redistribute the 32-bit controls, even when deploying to a 64-bit version of Windows.

If you are using the Trace (debugging) related properties in your application, you should also include the cstrace9.dll library in your installation package and install it in the same folder as the controls. This library is dynamically loaded by the controls to enable logging. It is not an ActiveX control and should not be directly referenced in your project.

Your installation software should always perform version checking to ensure it’s not overwriting a newer version of a control with an older version. If the software you’re using (e.g.: InstallShield) creates a 32-bit executable and you’re deploying a 64-bit application, the installer must be capable of detecting it is running on a 64-bit system and can disable filesystem redirection to ensure the 64-bit libraries are installed in the correct location. Consult the documentation for your installation software to determine if it is 64-bit compatible.

Redistributable versions of the SocketTools ActiveX controls can be found in:

C:\Program Files (x86)\SocketTools 9.5 ActiveX Edition\Redist\x86  (32-bit)
C:\Program Files (x86)\SocketTools 9.5 ActiveX Edition\Redist\x64  (64-bit)

If you installed SocketTools on 32-bit Windows, the default installation will be in C:\Program Files instead of C:\Program Files (x86). If you changed the default installation path, then the Redist folder will be found where you installed SocketTools.

Installer Packages

To help simplify deployment, we’ve created MSI (Windows Installer) packages you can use to install the SocketTools ActiveX controls on end-user systems:

  cstools95_activex_x86.msi (32-bit)
  cstools95_activex_x64.msi (64-bit)

If you’re redistributing a 32-bit application, then all you need is the x86 installer package. If you’re redistributing a 64-bit application, then you need the x64 installer package. If you’re developing with Visual Basic 6.0, you should only use the x86 installer. The installer packages will make sure the SocketTools controls are installed in the correct location and will perform the appropriate version checking.

If you have your own installer for your software, then you can redistribute those MSI packages with your installation and use the msiexec command to perform the installation. For example, this would install and register the 32-bit ActiveX controls with no UI displayed:

msiexec /qn /I cstools95_activex_x86.msi

For the complete list of command line options for msiexec, refer to

See Also

Creating a Runtime License Key
SocketTools .NET Redistribution
SocketTools Library Redistribution