Licensing of Ciansoft ActiveX Controls

We receive many questions from customers who are unsure about which licence type to buy for their application. The licensing of ActiveX controls can be confusing, so on this page, we try to explain it as clearly as possible.

Note that the information on this page does NOT apply to WebTwainX. This control is licensed differently and an explanation of the licence types available is given here.

Run-time or Design-time

Programming environments that use ActiveX controls should be able to determine whether the control is being used for running an application, or for writing an application. These two modes of operation are often referred to as "run-time" and "design-time".

At design-time, a licence is needed to use the control. The licence is contained in a file with a .lic extension and is held in the same directory as the .ocx file.

At run-time, no licence file is required.

This sounds simple enough, but is complicated by the fact that many programming environments in which you might use an ActiveX control have no run-time mode. Even the end user of a completed application is executing in a design-time mode and needs access to a licence file for the control to work.

Types of Application

In general there are two types of application, as follows:

(1) Compiled Applications

In a compiled application, code is written in one of a wide range of languages (e.g., Visual Basic, C++, Delphi, etc.). The code is compiled to produce an executable (.exe) file. This is the simplest situation with respect to licensing. The developer who writes the code needs the .lic file on his/her PC and must purchase a licence. The end users of the application do not need a licence to run the executable.

(2) Scripted Applications

In a scripted application, code is not compiled. The code may be visible to the end user and the end user may be able to modify the code and change the behaviour of the application if they know how to. The end user effectively has the same rights as the original developer and for this reason must have access to a .lic file and must use a purchased licence. There is no run-time mode.

The most common example of this is in web applications where the control is downloaded to a client browser from a server. The control will typically be run by a language such as Javascript embedded in the HTML code of the web page.

It is clearly impractical to expect every client user of a web application to purchase a licence for an ActiveX control, so a mechanism is provided by Microsoft to enable the clients to use a single licence held on the web server. The .lic file is converted to a licence package file (.lpk file) which is held on the server and read by the browser. More information on using licence package files is available here.

So in summary for scripted applications, each user of the application needs to have a purchased licence, but for web applications a single licence held on the web server can support all clients and is sufficient.

How Many Licences?

If you are in doubt about how many licences you need to purchase, there is a simple test. How many copies of the .lic file (or .lpk file) are needed to make the application work for all users? The answer to this question is the number of licences you need. Don't forget to count both development and production systems. For example, you might be developing a web application on a development server, then deploying to a production server. If you want to keep the application running on both these servers at the same time, a 2 user licence is required.

All Ciansoft ActiveX controls have a trial version, which uses the .lic file in exactly the same way as the full, purchased version does. By testing with the trial version, it should be possible to answer the above question.

Licence Distribution

There is one further situation where the licensing becomes more complicated. If you are developing a web application that requires a licence on a server in order to run, but you are then distributing that application to a number of your own customers, each server requires a licence. None of our standard licence types allow our customers to distribute the licences in this way.

In this case, please contact us and ask for a quote for a distribution licence. This licence allows you to bundle the .lic or .lpk file for our control with your application and sell on to your customers. This type of licence will be available at a very significant discount when compared with buying individual licences for each server. When contacting us it will help if you can provide some description of the application you are developing and an indication of the expected number of licences you wish to distribute. Prices for distribution licences are quoted on a case-by-case basis.