Full Distribution Node-Locked License

This tutorial demonstrates how to implement USB License and protect your application as a full distribution node-locked license. Specifically, you want to distribute your application as the full featured version with a USB License Key (dongle).


Based on the settings used in this tutorial, the following describes how the user would experience the protected application.


         You distribute the application with a USB License Key (dongle).

         The user must attach the provided USB License Key to the computer before starting the application.

         The user can transfer the license by moving and attaching the USB License Key to another computer.

Protecting Applications

The following instructions use ElecKey Integrator (the shell protection method) to protect the application. The necessary settings are described below. However, you may change the options as you want.


Besides the shell protection method, you may also use the provided KeyCheck API (including the KeyCheck Class Library and the KeyCheck .NET Component) to protect your application, by specifying the same settings as described below. Please see Protecting Applications Using API and the provided code examples for more information.

To Protect an Application

1.       Run ElecKey Integrator. The wizard dialog box appears.

2.       In the Select Application License Type dialog, select USB License (Dongle).

3.       In the Select Integration Task dialog, select Protect Code and Enforce Licensing.

4.       In the Specify Protected Program dialog, specify your executable file name in the Original field. In the Target field, specify a different name for the protected executable file that will be created.

5.       In the Set Identification dialog, assign a Program ID in the Program ID field.

6.       In the Key Detection Method dialog, select Detect Stand-Alone Key.

7.       In the Set Options dialog, you can use the default settings.

8.       In the Summary dialog, review the action you have chosen.

9.       Click the Integrate button. The protected version of your executable file is created.


It is recommended that you save your unprotected executable file in a safe place. You can then rename the protected version to its original file name, and use it further to create a setup package and distribute your application to the user.

Protected Applications Licensing

By implementing USB License, you can license the protected application by making the USB License Key (dongle) to be provided to the user. The following instructions describe how to use USB LicenseKey Manager to make a USB License Keys.

To Make a USB License Keys

1.       Run USB LicenseKey Manager.

2.       Attach one or several blank USB drives (via a USB hub) to your computer.

3.       In the Main tab of the Key Properties pane, from the Program ID drop-down list, select Program ID of your application.

4.       From the Implementation drop-down list, select Distribution.

5.       From the Package pane, you can save the settings as a package for future use. In the Package Name field, enter the title of the package. Then, from the File menu, click Save.

6.       From the Note pane, you can enter notes about the package in the Messages field. Then, from the File menu, click Save.

7.       Optionally, from the File menu, you can click Set Key Value to generate 10 random key-value pairs to be stored in the Key. The Key Value can be accessible if you protect your application using the KeyCheck API.

8.       Optionally, from the File menu, you can click Set Content Files to specify the folder that contains the content files of the application. All files will be copied to the USB License Key automatically during the making.

9.       From the Key Properties pane, click the Make Key button. The Make Key dialog box appears.

10.    In the Make Key dialog box, select the checkboxes of the drives you want to make the USB License Key. Then, click the Make button.

Distributing Protected Applications

To create a setup package and distribute your application, please ensure to include the protected version of your executable file and the ElecKey system files. For Win32/Win64/.NET applications, the following is the list of the needed system files:


         Ekc3220.dll (in \Deploy\Win32App\KeyCheck\)

         Ekc6420.dll (in \Deploy\Win64App\KeyCheck\)

         Ekag20nt.exe (in \Deploy\Win32App\KeyCheck\)

         Ekag6420.exe (in \Deploy\Win64App\KeyCheck\)

The above system files must be placed in the same directory as the protected executable file. Depending on the features you have enabled, you may need additional system files. See the topic Protecting Windows Apps/Deployment for more details.