Limits are used by DeployLX to control how and when the protected software may be used.
The incredible amount of flexibility provided by DeployLX Licensing is made possible through the use of individual limits. By isolating the code for different validation rules complex licensing schemes can be created with very little code. Additionally separating the validation rules into a separate class makes it easy to implement custom limits to enforce product or company specific rules.
Each limit can contain additional child limits that are all validated as a group. This makes it easy to design licenses that use different logical rules based on the current conditions of the host application. See the Combining Limits later in this topic for details.
The Easy License Editor adds and configures license limits automatically. The properties of the limits are exposed through easy to use options and tabs.
See the Limits Reference for details about using each of the limits and the properties of the limits.
Each limit enforces only one, or a small number, of rules on the software. For example the Time limit simply tracks how long the software can be used. The Trial limit only marks the license as a trial and shows a splash screen during validation but does not define any time period for the trial. Instead the two limits are used in combination to define the complete set of rules to enforce on the evaluation version of the product. The Time limit is added as a child limit of the Trial limit so that the evaluation version is limited to a specific amount of time. To also limit the trial to a specific number of uses the Use limit is added to the Trial limit as well.
Complex rule sets can be created by adding limits together in a single license. For instance you might add an Activation limit to tie the license to a specific set of hardware along with an OS limit to restrict the operating system types that the software can be used on.
See the Serial Numbers and the Registration Process topic for details on supporting multiple editions.
Each license file can contain one or more SecureLicense instances. Each with its own set of limits. You can use this to enforce different rules for different editions of the product. For example you may want to provide a trial version of the product that is limited to a specific amount of time and a standard version that is not. Or perhaps you want to require standard versions of a product to be hardware locked by adding an Activation limit while the enterprise edition uses Network Licensing to restrict the total number of instances permitted on the network at the same time.
See the Uninstalling a License topic for details on resetting state during development.
Some limits store state on the client machine in a secure location that cannot be modified by the user. For example the Time limit stores the date when the license was first used so that it can determine when the license has expired. This secure state remains in tact even if the software is uninstalled and the license is deleted. Only a complete reformat of the machine by the user will remove the state.