Product Licensing FAQ

1. What are the terms of the license agreement for Catalyst products?
In general terms, our license agreements permit you to install a single copy of the product on your computer system, use the product to build application software and redistribute that software to your end-users. There are no runtime licensing fees, and there are no restrictions on the number of products which may be developed using our components and libraries.

There are two primary restrictions, the first being that the product is only licensed for a single developer. The second restriction is that you may not use our components and libraries to create a software development product which is then resold by your customers. In other words, you may use our toolkits to build application software, but you are not permitted to create software development components or libraries which are then used by your customers to create software which, in turn, they distribute to end-users. If you have any questions regarding the licensing agreement for your specific product, please contact us.
2. Can I use your products to build a software development tool?
No, the license agreement specifically prohibits the use of our products to create a software development toolkit, library or component which is used by your customers to create software which they redistribute. For example, you are not permitted to use the File Transfer Protocol library in the SocketTools Library Edition to create an ActiveX control which you, in turn, sell to other developers to use in their software development projects. You are permitted to create libraries and/or controls based on our components only if those components add significant functionality to the software and cannot be used by your end-users to create or modify the software. This provision of the agreement is specifically designed to prevent those situations where a developer could create a competing product using our components or libraries.
3. Do I need a license for each developer working on a software project?
You need a license for each developer who is actually using the product. Each license may only be used by a single developer and it is in violation of the terms of the license agreement for more than one developer to use the same copy of our products. For information about purchasing additional licenses, please contact us.
4. Is a license required to redistribute my application?
You must have a valid development license to redistribute an application built using our components. The license that you have purchased permits you to create an unlimited number of products and you may redistribute the application to any number of end-users. However, you cannot redistribute any applications created using an evaluation license. If you attempt to redistribute an application created using an evaluation license, depending on the development environment, you will either be unable to compile the application, or it will fail to initialize correctly and your application will be unable to load. During the evaluation period, an application using our components will only function on the development system that it was created on.
5. Are there any runtime licensing fees required?
There are no runtime licensing fees, and there are no restrictions on the number of products that you can create using our components, nor are there any restrictions on the number of end-users that you may redistribute your software to.
6. Can more than one developer use a product as long as it is not at the same time?
Our license agreements require that a copy of the product be purchased for each developer who is using the product to create and/or modify an application. If more than one developer is working on a project which uses SocketTools, then a copy must be purchased for each developer. However, it is not necessary to purchase a license for those developers who are not creating or modifying software that uses one or more of the our components.

For example, if three developers are creating an application, with two of the developers using Visual Basic and one of them using Visual C++, two licenses would be required if both Visual Basic developers were using our components. A license would not be required for the C++ developer, unless that developer was also using one of our components or libraries.
7. Where is the product licensing information stored?
Licensing information is stored in the system registry, and under some circumstances, restoring the registry from a backup may invalidate your license. If an error occurs when loading a component or initializing a library, you may need to delete the license and reinstall the product. Each product includes a License Manager utility in the program group where it was installed. This utility can be used to view and manage the license information for your software.
8. Do I have to include a Catalyst copyright message in my software?
According to the terms of the license agreement, it is only required that you copyright the software that you develop using our products. It is not required that you place our copyright message in your software or documentation. However, if you would like to acknowledge the use of our components in your software, you can use something like this in your About dialog or documentation:
Portions of this software based on SocketTools™
licensed from Catalyst Development Corporation
We would appreciate your attribution and are interested in hearing about your software. You're welcome to contact us to let us know how you're using the product.

Evaluation Licenses

1. How do I install a product with an evaluation license?
If you choose to install a product without a serial number, then an evaluation license will be created that is valid for a period of thirty (30) days. The software is fully functional during the evaluation period, however you will be unable to create redistributable applications using the components and/or libraries. In other words, you will be able to create and test applications on the development system that the evaluation license was created on, but you will not be able to run those programs on any other system until you purchase the product.
2. Are there any limitations when a product is installed with an evaluation license?
Generally speaking, our components and libraries are fully functional and the same code that you develop during the evaluation period can be compiled and used once you have purchased the software. However, there are two limitations to consider when developing software using an evaluation license. First, the controls and/or libraries will cease to function after the evaluation period has expired. This means that you may not be able to load them into your development environment, and any application that uses them will no longer function correctly. Second, you cannot redistribute any application created using the controls or libraries with an evaluation license. An application that is created using an evaluation license will only function on the development system that the license is installed on. Once you have purchased a license, you only need to re-compile your application with your new, registered license. You can then redistribute your software along with the components and/or libraries that you've used.
3. How do I check how much time is remaining in the evaluation period?
In the program group folder where you installed the product, select the License Manager icon and choose the License | Validate menu option. A dialog box will be displayed which shows your current license information, including how many days you have remaining in the evaluation period.
4. Is there any way to extend the evaluation period?
The evaluation period is fixed at thirty days from the date of installation. To continue using the product after that period has expired, you must purchase a license. However, under some circumstances a sales or technical representative may extend the evaluation period on request. Note that each purchase includes a thirty day, money-back guarantee. So even if the evaluation period has expired, there is no risk in purchasing a copy of the product and using that additional time to determine if it meets your needs.
5. Why does the installation program require a serial number?
An evaluation license can only be installed once for a given product. Once the evaluation period has expired, or the product license has been deleted, the software can only be installed using a valid serial number. If this happens and it is the first time that you have installed the product, it may be that another developer had previously installed an evaluation version and later uninstalled the product from that system.

License Registration

1. Is it required that I register the product I've purchased?
No, it is not required; however, it is recommended that you register your copy of the software. Registration ensures that you can obtain the appropriate technical support for the product that you've purchased, and allows us to notify you of future product improvements and fixes. If you have Internet access, you can register as part of the installation process using the Registration Wizard.

If you are unable to register electronically, contact the sales office at +1 760 228-9653 during normal business hours and the registration can be completed over the telephone.

It is recommended that you register immediately after installing the software with your serial number. Please note that free technical support is only available to registered developers.
2. How do I enter my serial number after purchasing the product?
The simplest method is to download the current version or install from CD and enter the serial number provided to you when you purchased the software. If you have already installed the current version, or do not wish to re-install the software, select the License Registration icon that was created in the product's program group or folder. If you are currently using an evaluation license, you will be prompted to enter your name, company name and the serial number provided to you.
3. How do I remove a license from my system?
You can remove a license from your system using the License Manager utility included with the product. Simply select License | Delete from the menu, and a warning dialog will be displayed. If you confirm the deletion, the license information for the product will be removed. Please note that once you delete the license information, you will no longer be able to re-install the software with an evaluation license.
4. How do I register my serial number on a different system?
Because the license for a product is limited to a single developer, you must purchase a separate license for each developer which uses it. However, if you wish to install your license on additional systems for your use only, simply install the product on the second system using your current serial number. Additional installations of a single license is for your convenience in case of disk failure or laptop installation needs.
5. What does it mean if a serial number has already been registered?
If you encounter an error while registering your product that the serial number has already been registered, this indicates that another developer has already registered the serial number on a different computer system. The license agreement requires a license for each developer using the product. For more information about purchasing additional product licenses, please contact us or call +1 760 228 9653 during normal business hours, Monday through Friday.

Product Development

1. What is a runtime license key?
A runtime license key is a string that is passed to an initialization method or function which tells the component that the developer is licensed and permitted to redistribute the application to end-users. During an evaluation period, there is no runtime license key, and therefore the program will only function on the development system.

When a copy of the product is purchased and installed with a serial number, a runtime license key will automatically be created and stored in a file in the Include folder where the product was installed. If you are using a dynamic link library (DLL) then the initialization function has the word Initialize in it. For example, the File Transfer Protocol library has the function FtpInitialize. If you are using an ActiveX control or COM object, then you should use the Initialize method and pass the runtime license key as the first argument. Refer to the online documentation and Technical Reference for that product for more information on how to initialize our libraries and components.
2. How do I generate a runtime license key?
You can generate a license key module, which defines the license key that you need to pass to the component initialization function, using the License Manager. Run the License Manager utility from the program group created when the product was installed, then from the menu select License | Header File. Next, select the appropriate file type for your programming language and enter a file name.

This will generate a file that defines the runtime license key which should be passed to the initialization function. Note that if you are evaluating the product and have not yet purchased a license, then this constant will be defined as an empty string. In this case, you will only be able to execute your application on your development system. Once you purchase a development license, you can regenerate this module and rebuild your application. With a valid license key, you will then be able to redistribute your software.
3. Why do I get a licensing error when I redistribute my software?
If you are currently using an evaluation version of the product you cannot redistribute your application to another system. The evaluation license does not permit you to redistribute any software using our components or libraries to other system. However, if you have purchased a license, check the contents of the runtime license key file in the Include folder where you installed the product. If the license key is undefined or the header file is missing, then you can recreate the header file using the License Manager utility included with the product.

Run the License Manager utility from the program group created when the product was installed, then from the menu select License | Header File. This will recreate the runtime license key and store it in the specified file. Once you have created the key, pass that value to the Initialize method or function and you will be able to redistribute your application.

It is important to note that the runtime license key is not the same as your serial number. If you attempt to pass your serial number to the component's Initialize method or function, it will fail with an error indicating that the component is not licensed.

Product FAQs

ActivePatch
Information about ActivePatch, the file patching toolkit.


File Transfer Control
Information about the Catalyst File Transfer control.


Internet Mail Control
Information about the Catalyst Internet Mail control.


SocketTools Editions
Information about the SocketTools suite of products.


SocketTools Subscription
Information about the SocketTools subscription plan.


SocketWrench Editions
Information about the SocketWrench components.


Other FAQs

Product Licensing
Product licensing information for customers and evaluators.


Technical Support
Technical support options and policies for developers.