DeployLX Software Protection System

DeployLX.Licensing.v5 Namespace

The DeployLX Licensing framework contains support for licensing .NET components, controls, classes applications. Any .NET class (including ASP.NET and Service components) can be protected. Licenses are found and validated by the SecureLicenseManager's  Validate method which verifies the license's Signature()()()() and enforces Limits that define when and where the software can be used.

Licensing Topics

Classes

Public classActivateManuallyPanel

Presents a form for the user to enter an activation code to manually activate their software.

Public classActivateOnlinePanel

Displays progress and status messages during online activation.

Public classActivationInfoPanel

Displays information about the activation process and the activation requirements established by the license.

Public classActivationLimit

Provides a mechanism for hardware-locking a license to a specific machine.

Public classActivationLimit..::..PageIds

Panel page ids used by the ActivationLimit.

Public classActivationLimit..::..ValidationStateIds

States that can be filtered by a StateLimit to apply limits based on varrying circumstances.

Public classActivationPanel

Displays the activation information in the SuperForm providing the user with status about their software and instructions on activating.

Public classActivationProfile

Represents the settings and tolerance for a MachineProfile that can be activated by an ActivationLimit.

Public classActivationProfileCollection

Implements a strongly typed collection of ActivationProfile objects.

Public classAdminCredentialsForm

Form used to capture and authenticate administrative credentials from the user.

Public classApplicationLimit

Controls the total number of instances of the software that are allowed to run on the same machine.

Public classApplicationTypeLimit

Controls access to a protected application over a remote destkop session.

Public classApplicationTypeLimit..::..ValidationStateIds

States that can be filtered by a StateLimit to apply limits based on varrying circumstances.

Public classAsyncValidationRequest

Represents a request to perform a validation action asynchronously.

Public classBag

Represents a bag of properties indexed by name.

Public classBetaLimit

Indicates that the license is for a beta version of the software. Provides a notice when the beta has expired and instructions on how to download the latest version.

Public classBetaLimit..::..PageIds

Panel page ids used by the ActivationLimit.

Public classBufferedPanel

Implements a panel that uses buffered painting by default.

Public classBufferedPictureBox

Implements a PictureBox that uses buffered painting by default.

Public classChangeEventArgs

Event arguments for property and collection changes.

Public classCollectionEventArgs

Event arguments for collection change events.

Public classColorBag

Represents a Bag of colors indexed by name.

Public classConfig

Provides static properties and methods for obtaining licensing application configuration information.

Public classCustomRegistrationField

Represents an entry in the CustomFields collection.

Public classCustomRegistrationFieldCollection

Implements a strongly typed collection of CustomRegistrationField entries.

Public classDeactivationPanel

Displays the license transfer wizard home page.

Public classDefaultLicenseLogger

Provides a default implementation of a license logger.

Public classDelayedLimit

Defines the base class for Limits that can perform their validation asynchronously. This is useful for validation that takes a long time to perform and is most likely to be true.

Public classDesigntimeLimit

Restricts the use of the software to a designtime environment such as Visual Studio .NET®.

Public classDesigntimeOrRuntimeLimit

Serves as a base class for the DesigntimeLimit and RuntimeLimit.

Public classDoDeactivationPanel

Displays progress and status and messages about the deactivation process to the user.

Public classDomainNameLimit

Restricts the use of a protected Type to ASP.NET pages served from a specific domain name.

Public classDropShadow

Maintains a collection of drop shadow properties.

Public classErrorReportPanel

Displays the validation error report when a valid license cannot be found.

Public classExtendableLimit

Implements a base version of the IExtendableLimit.

Public classExtendableLimit..::..PageIds

Common extendable limit panel page ids.

Public classExtendOnlinePanel

Displays progress and status messages during online extension.

Public classExtensionPanel

Displays a form to aid the user in extending the use of their license.

Public classFeatureFilterLimit

The FeatureFilterLimit validates filters child validation based on the state of enabled features or serial number flags.

Public classFeatureLimit

Identifies named product features

Public classFeatureNamesCollection

Implements a collection of FeatureFlags and their corresponding names.

Public classGradientPanel

Implements a panel with a gradient background.

Public classHtmlBrandedLimit

Automatically adds an HTML snippet to every ASP.NET page.

Public classImageBag

Represents a Bag of images indexed by name.

Public classImages

Provides static access to image resources.

Public classInfoPanel

Displays a text message or browser control in response to a request for more information.

Public classInvalidLimit

The InvalidLimit is responsible for always invalidating a license.

Public classIPAddressLimit

Restricts the use of the software to a specific IP address range.

Public classIPRange

Represents a range of IP addresses for the IPAddressLimit.

Public classIPRangeCollection

Implements a collection of IPRange objects.

Public classLicenseCodeTextBox

Implements a text box that expects a license code. Provides a special character class that can be used to limit entries to known characters in the code.

Public classLicenseEventArgs

Represents arguments for events fired by SecureLicenseManager.

Public classLicenseFile

Represents a collection of licenses stored in a single .LIC file.

Public classLicenseHelpAttribute

Defines licensing settings used to provide support contact information as well as configure assembly level options for error handling and processing.

Public classLicenseKeyAttribute

Defines the public key used to validate and protect licenses.

Public classLicenseResource

Represents an embedded resource in a license file. Used to embed images, web pages, and other files for use during validation.

Public classLicenseResourceCollection

Implements a strongly typed collection of LicenseResource objects.

Public classLicenseServerLimit

Contacts a remote license server for validation when the software is used.

Public classLicenseServerLimit..::..ValidationStateIds

States that can be filtered by a StateLimit to apply limits based on varrying circumstances.

Public classLicenseValidationRequestInfo

Represents all the data and configuration values to use with the current validation request. This can be pre-populated before calling Validate(Object, Type, LicenseValidationRequestInfo) to customize certain features at runtime.

Public classLicenseValuesDictionary

Maintains a collection of name value pairs. The collection can be serialized and marked as read only.

Public classLicensingSectionHandler

Implements a section handler for reading configuration settings in an application's .config file.

Public classLimit

Services as a base class for all SecureLicense limitations.

Public classLimitCollection

Implements a strongly typed collection of Limit objects.

Public classLimitEditorAttribute

Defines the runtime Type of the visual editor used to modify the limit in the advanced editor of the License Manager.

Public classMachineProfile

Manages a machine profile used by the license activation system. Profiles represent a collection of generally non volatile system properties that can collectively be used to identify certain machines.

Public classMachineProfileEntry

Represents an entry in a MachineProfileHardwareList.

Public classMachineProfileEntryCollection

Implements a strongly typed collection of MachineProfileEntry objects.

Public classMessageBoxEx

Displays a message box.

Public classNoLicenseException

Exception thrown when no license can be found.

Public classOnlineLimit

The OnlineLimit is responsible for filtering child limits by determining the online status of the machine.

Public classOnlineLimit..::..ValidationStateIds

States that can be filtered by a StateLimit to apply limits based on varrying circumstances.

Public classOrLimit

Logical limit that can be used to provide alternate license rules.

Public classOSLimit

Restricts the use of the software to specific versions of the operating system.

Public classOSRecord

Represents an OS selection record for the OSLimit,

Public classOSRecordCollection

Implements a strongly typed collection of OSRecord objects.

Public classParsedVersion

Represents a version number parsed from a string.

Public classPromptMaskedEdit

Implements a masked text box with a light prompt and mask template. Also supports a transparent background.

Public classPropertyBag

Represents a Bag of string properties indexed by name.

Public classProxyForm

Gathers proxy information from the user.

Public classPublisherLimit

Restricts the use of the software only to publishers with a specific strong name key. Can also be used to restrict the use of shared assemblies to only your assemblies.

Public classRegisterOnlinePanel

Displays progress and status messages during online registration.

Public classRegistrationLimit

Captures registration information when a license is installed and serves as the default method for obtaining a serial number for licenses that can be unlocked with a serial number.

Public classRegistrationLimit..::..PageIds

Super form panel page ids used by the RegistrationLimit.\

Public classRegistrationPanel

Used by the RegistrationLimit to display a form to gather registration information including name, organization and serial number.

Public classRemoteDesktopLimit

Controls access to a protected application over a remote destkop session.

Public classRemoteDesktopLimit..::..ValidationStateIds

States that can be filtered by a StateLimit to apply limits based on varrying circumstances.

Public classResetLimit

The ResetLimit is responsible for resetting an IExtendableLimit during validation..

Public classRuntimeLimit

Restricts the use of the software to the runtime environment so that it may not be used in a designer such as Visual Studio .NET®.

Public classScriptLimit

Enables custom code to be executed during license validation providing a simple way to implement a custom limit.

Public classSecureLicense

Represents a license that can be validated and issued by the SecureLicenseManager.

Public classSecureLicenseCollection

Implements a strongly typed collection of SecureLicense objects.

Public classSecureLicenseContext

Represents the licensing context used to maintain state throughout the license validation process.

Public classSecureLicenseException

Represents an general exception that has occurred during licensing. The NoLicenseException is thrown when there are no valid licenses on the machine.

Public classSecureLicenseManager

The SecureLicenseManager class is used by the component, class, control or application to manage it's licenses. See the Validate(Object, Type, LicenseValidationRequestInfo) method for for details on validating a license.

Public classSerialNumberInfo

Encapsulates all the serial number information needed by the license.

Public classServerResult

Represents the results of an attempt to contact a LicenseServer from the CallServer(String, String, Limit, SecureLicense, LicenseValuesDictionary, Boolean) method.

Public classServiceLimit

Restricts the use of the software to specific process types to allow or disallow use in a server or service.

Public classSessionsLimit

Controls the total number of active web sessions permitted. To control concurrent applications on a single network use the NetworkLicenseLimit.

Public classShadowLabel

Implements a label control that displays the text with a shadow.

Public classSkin

Skin class used by the SkinnedButton.

Public classSkinnedButton

Implements a button that renders the button from a skin image allowing a great deal of flexibility and style.

Public classSkinnedPanel

Implements a panel with a gradient background.

Public classSplashLimit

Displays a splash screen during validation. Useful for branding and welcome screens.

Public classSplashPanel

Used by the SplashLimit to display a form when the license is validated.

Public classSplitPanel

Serves as a base class for panels that split the content section into a left summary section and a main body.

Public classSRC

Static resource constant identifiers.

Public classStateLimit

The StateLimit validates its children only when the parent limit is in one of the desired validation States.

Public classStaticResources

Implements a class for retrieving static resources from an assembly.

Public classStringCollection

Implements a strongly typed collection of String objects.

Public classSuperForm

Serves as a host form for SuperFormPanels and provides a consistent look and feel across all form limits.

Public classSuperFormLimit

Serves as an abstract base class for ISuperFormLimits that implements the required interface.

Public classSuperFormLimit..::..CommonPageIds

Common super form panel page ids.

Public classSuperFormPanel

Represents the base class for form controls hosted in the SuperForm. ISuperFormLimit limits create custom panels for interacting with the user.

Public classSuperFormTheme

Represents a theme used define the style and colors of the SuperForm.

Public classSupportInfo

Support information for the assembly. The properties are normally initialized by the contents of the LicenseHelpAttribute but may be modified in the LicenseValidationRequestInfo class to customize the support information at runtime.

Public classTemplateFormatter

Processes string templates, replacing named variables.

Public classThemeLabel

Implements a label control that displays the text with a shadow.

Public classTimeLimit

Controls the amount of time that the software can be used.

Public classTimeMonitor

Provides methods for interacting with expiration of a TimeLimit.

Public classTimeoutWrapper
Public classTimeServerLimit

Contacts a remote SNTP server to check the validity of the machine's clock.

Public classTrialLimit

Indicates that the license is a trial version and displays a screen with purchase information and expiration notices.

Public classTrialLimit..::..PageIds

SuperForm panel page ids used by the TrialLimit.

Public classTrialPanel

Use by the TrialLimit to display the trial period and bitmap resource to the user during validation.

Public classTypeHelper

Provides methods for loading types from an assembly, locating types by name and other reflection based helper methods.

Public classTypeLimit

A specialized version of the FeatureLimit that treats the feature Names as runtime types and only licenses the authorized types.

Public classUpgradeLimit

Requires that a serial number from a pervious version be available.

Public classUpgradePanel

Used by the RegistrationPanel to gather upgrade information from the user.

Public classUriCollection

Implements a strongly typed collection of String objects that represent URIs that reference resources in the licensing system.

Public classUseLimit

Controls how many times the software can be used.

Public classUseMonitor

Provides methods for interacting with expiration of a UseLimit.

Public classValidationHelpEventArgs

Event arguments for the HelpRequested event.

Public classValidationRecord

Represents a record of a validation attempt or response during an attempt to locate a valid license.

Public classValidationRecordCollection

Implements a strongly typed collection of ValidationRecord objects.

Public classVersionLimit

Restricts the use of a SecureLicense to a specific release version of the protected software.

Public classVirtualMachineLimit

The VirtualMachineFilter limit is responsible for filtering child limits by determining if the current machine is virtualized.

Public classVirtualMachineLimit..::..ValidationStateIds

States that can be filtered by a StateLimit to apply limits based on varrying circumstances.

Public classWithEventsCollection

Implements a base class for collections that raise events when items are added or removed.

Structures

Public structureTriBool

Implements a tri-state value type with automatic casting to and from Boolean values.

Interfaces

Public interfaceIChange

Defines an interface for property change notifications.

Public interfaceICustomForm

Defines an interface for custom forms for use with ISuperFormLimit limits.

Public interfaceICustomFormControl

Defines an interface for custom controls to be included on the registration form.

Public interfaceIExtendableLimit

Defines an interface for limits that can be extended or renewed such as the TimeLimit and UseLimit.

Public interfaceIMultipleSuperFormLimit

Extends the ISuperFormLimit to allow developers to specify a custom form for eahc page id that the limit understands.

Public interfaceIPurchaseLimit

Defines an interface for limits that provide purchase features to the user.

Public interfaceIResettable
Public interfaceIServerLimit

Defines an interface for limits that connect to a LicenseServer.

Public interfaceIServerRequestContext

Represents the context of a license server request.

Public interfaceISuperFormLimit

Defines an interface for limits that interact with the SuperForm. See the SuperFormLimit class for a default implementation.

Delegates

Public delegateAsyncValidationMethod

Defines a delegate for methods that can be called asynchronously via an AsyncValidationRequest.

Public delegateChangeEventHandler

Public delegate for change events.

Public delegateCollectionEventHandler

Handle for generic collection events.

Public delegateLicenseEventHandler

Public delegate for events fired by the SecureLicenseManager.

Public delegateLicenseValidationLogger

Defines a delegate that is called by Validate(Object, Type, LicenseValidationRequestInfo) to log both successful and unsucessful license attempts.

Public delegatePanelResultHandler

Defines a handler for processing the result passed to Return(FormResult) by a child SuperFormPanel.

Public delegateShouldValidateLicenseFilter

Defines a delegate that is called by Validate(Object, Type, LicenseValidationRequestInfo) to progamatically filter licenses from use.

Public delegateShowFormFilterHandler

Deterimines if the limit form should be shown during validation.

Public delegateValidationHelpEventHandler

Defines a delegate for the HelpRequested event.

Enumerations

Public enumerationAdminRunRequirement

Defines a list of values that determines when an administrator must be logged in the first time a license is validated.

Public enumerationCodeAlgorithm

Defines the types of algorithms used to generate serial numbers, activation codes and extensions.

Public enumerationCustomFieldType

Custom field types for the contact info section of the form.

Public enumerationDeactivationPhase

Defines the phases of deactivation used by the license transfer wizard.

Public enumerationEdgeScaling

Repeat types for the variable size portions of a skin.

Public enumerationErrorSeverity

Values for the severity of error messages.

Public enumerationFeatureFlags

Defines bit flags used to select features of the FeatureLimit.

Public enumerationFormResult

Defines the possible results from showing a form such as a SuperFormPanel in the SuperForm to the user.

Public enumerationGradientStyle

Styles of gradients for the GradientPanel.

Public enumerationHtmlLocation

Defines the possible locations where the HTML from the HtmlBrandedLimit and other ASP.NET limits should be output on the page.

Public enumerationLicenseSaveType

Defines the types of save requests that can be made of the license.

Public enumerationLocationDispositions

Defines the types of locations where a license file may be located.

Public enumerationLocationState

Values used to indicate if the license file has been modified outside the licensing API.

Public enumerationMachineProfileEntryType

List of the types of hardware supported by the MachineProfile.

Public enumerationMachineType

Defines machine types that can be targeted by an ActivationProfile.

Public enumerationMessageBoxExOptions

Defines options to be used when displaying a message box to the user.

Public enumerationOSEditions

Values representing the different editions of a given OSProduct that the OSRecord used by the OSLimit can recognize.

Public enumerationOSProduct

Values representing the different products that the OSRecord used by the OSLimit can recognize.

Public enumerationPeekResult

Possible results from the Peek(SecureLicenseContext) method.

Public enumerationPersistentDataLocationType

Types of locations where persistent data should be stored.

Public enumerationSaveLocations

Defines the standard locations where the license file should be saved after validation.

Public enumerationSecureStorageRequirement

Defines the secure storage requirements when validating a license.

Public enumerationSerialNumberFlags

Defines a set of flags that can be set in an SerialNumber and later checked at runtime to enable or disable features. The value of each flag is meaningful only to the license developer and has no implicit purpose for use by DeployLX Licensing.

Public enumerationServiceTypes

Types of server processes that can be controlled by the ServiceLimit.

Public enumerationShowFormOption

Defines the times when a form should be displayed.

Public enumerationSoundEvent

Defines the standard sound events that can be used for form display.

Public enumerationThemeFont

Font styles supported by the ThemeLabel and ShadowLabel controls.

Public enumerationTimeLimitType

Defines the type of time limits that can be enforced by the TimeLimit.

Public enumerationTriBoolValue

Defines the possible states of the TriBool value.

Public enumerationUseLimitType

Defines the type of use limits that can be enforced by the UseLimit.

Public enumerationValidationResult

Possible results from validating a license.

Public enumerationVerifySignatureResult

Possible results from a signature verification check.

Public enumerationVirtualMachineLevel

Indicates the level of virtualization detected in the operating system.

See Also