Using a variety of evaluation locks, IntelliLock
gives you the ability to control use of your assembly in a variety
of ways - trial versions, software rental, custom locks, software
as a service - all are possible using IntelliLock locks, and all
without any modifications to your source code. We recommend that
you spend some time to understand these license enforcement options
as the time you invest in doing so will be time well spent.
In the Lock Settings page you specify the
licensing controls you want IntelliLock to build into your assembly
when you protect it. These locks are implemented by additional code
which IntelliLock includes in the protected assembly and requires
no changes to your assembly source code to implement. One of the
powerful features of IntelliLock licensing is that the settings you
inbuild into your assembly can be overridden by providing a license
file to your customer, meaning you do not need to supply a separate
licensed version of your program - the trial version and full
version are exactly the same, the only difference being the license
file you provide to paying customers.
- Expiration Days - Your application will work for
the specified number of days from the date of first installation on
- Expiration Date - The Expiration Date lock allows
you to specify the exact date on which your assembly should expire.
This is useful for example for beta test versions and for software
rental (where you can specify the expiration date as the day
following the last date the customer has paid for the use of your
- Executions - This lock, if enabled, causes your
application to expire after the specified number of
- Runtime - The user can run the assembly for an
unlimited number of time, but the apllication will shut down each
time it is run, after the specified number of minutes.
- Global Time - This option set an exact amount of
total minutes that your assembly can stay in memory.
- Instances - This lock, if enabled, allows you to
specify the maximum number of copies of your application the user
is allowed to run at the same time. Please note that exceeding the
specified number of instances does NOT cause your application to
- Custom - This lock, if enabled, enables trial
mode without using the locks above. This is really helpful if you
want to use your own trial restrictions. To determine the current
license status please use the InteliLock SDK.
- Expiration Behavior All
- When enabled causes the expiration of the
assembly only when all other enabled locks have expired.
- When disabled the assembly expires when any one
of the locks expires. This is a very powerful option, enabling you
to (for example) implement a trial period which is either 30 days
or 50 uses. It is worth spending a little time considering the
flexibility which this option offers.
- Run Without License File - Set to false to
require a valid license for operation. If true, enabled Inbuild
Locks are honored. If a valid license file is found the Locks
settings are overridden with the license file settings. To use this
option at least one trial lock or the custom lock must be
- Shut Down Process After Expiration - Terminates
the running process upon expiration.
- Search In Embedded Resources - Enable this option
to search for license files in the embedded resources of calling
- Search On HDD - Enable this option to search for
license files in the location of your locked assembly. If you want
to load a license directly please use the IntelliLock SDK.
- Asynchronous License Check - Check this option to
improve the startup time as the license status is checked in the
background. As soon as the license check is finished the event
will be raised. In case this option is enabled please don't check
the license status or call HardwareID.GetHardwareID(...) until
EvaluationMonitor.LicenseCheckFinished is raised.
- Dialogs - Here can can specify various dialogs
which are shown depending on the license status. The number of
possible dialog boxes may seem large, and you may worry that your
customer will see numerous dialog boxes when the locks expire. This
is not the case, the IntelliLock licensing system will only ever
display one dialog to your user. IntelliLock determines which is
the most important dialog and displays that one only. Nag Screen -
We are all familiar with nag screens in applications, reminding us
to purchase the product before the trial period expires. This
option allows you to specify whether to display a nag screen to
your user, again without any modification to the source code of
- License Name - Specifies a license file name or
extension (*.myextension). To avoid conflicts with optional methods
of extending license behavior, binary IntelliLock licenses do not
use the .LIC extension reserved to .NET license classes.
- Hardware ID - Please define a Hardware ID
generation algorithm. The algorithm is automatically used by the
SDK method HardwareID.GetHardwareID(...).
- Trial ID - Change the Trial ID to ignore previous
trials and begin a new trial period. This is useful if you want to
release a new version of your software and allow users to start a
new trial period.
- Master Key - To create valid license files, the
same master key must be used for license creation as was used to
produce IntelliLock locked output. This master key is generated
when you create your project, which must be saved to preserve the
original key. Never hand out the Master Key to anybody!