DeployLX Software Protection System

License Servers in DeployLX

License servers provide a way to remotely monitor the use of licenses and to automate certain licensing tasks.

Creating a License Server

The license server used by DeployLX Licensing is implemented as a custom ASP.NET XML Web Service. An existing ASP.NET website must be available to host the license sever.

The resulting ASMX file generated by the wizard contains a default implementation that can manage hardware activation and license registration in a OLEDB compatible database. This basic framework is meant to be customized to fit your specific licensing needs.

See the Deploying a License Server subject below for details on copying the server files to a remote host.

Monitoring License Use Remotely

One of the primary purposes of the license server is to remotely monitor the use of your software. When you add a License Server limit to your license, DeployLX will check with the license server each time the license is validated giving you an opportunity to stop the user from using the software.

The default implementation of the license server checks to see if the registration record in the database with the corresponding serial number has been disabled and if so throws an exception. You can customize the behavior of the server to invalidate the license based on other rules that apply specifically to your product.

To customize the server rules you modify the Validate method in the ASMX file that you created earlier.

To add remote monitoring to your software

  1. Select New License | Easy License Editor from the Home tab of the Ribbon in the DeployLX Manager
  2. Select Track software usage remotely from the Basic Options tab.
  3. Enter the address of the license server created earlier in the License Servers field.
  1. Select New License | Advanced License Editor from the Home tab of Ribbon in the DeployLX Manager.
  2. Select a license from the list to be monitored remotely.
  3. Switch to the Limits tab.
  4. Select the License Server limit from the limit gallery on the License tab of the Ribbon.
  5. Enter the address of the license server created earlier in the Servers field.

Capturing License Registrations

You can use a license server to capture license registrations when the user enters their serial number. The default implementation is to add a record in the License table using the serial number as the primary key and storing a verbatim copy of the license in the record.

To process the actual registration details entered by the user you must modify the Register method and parse the values in the registrationInfo collection.

To customize the registration process modify the Register method of the ASMX file that you created earlier.

To generate a new license for the user at registration you create a new LicenseFile instance and set the newLicenseFile parameter. When the license server returns the result to the client machine the new license will be saved to disk and validated on the client.

If you modify the license on the server you must call NotifyModification to have the changes sent back to the client machine.

Handling License Activation

The Activation limit supports license unlocking online or manually by entering a code. To support online activation create a license server as described above and configure the license to check the server. The default implementation simply checks to see if the license has been activated before and if so prevents the user from installing the license again. If you use the deactivation wizard the server can also track the license uninstall and allow the user to install on a new machine automatically.

See the Hardware Locking and the Activation Process topic for more details.

Handling Extensions

DeployLX supports automatically extending Extendable limits online. The default implementation of the server does not permit any sort of extension and must be modified to meet your specific licensing needs.

See the License Extensions and Subscriptions topic for more details.

Deploying a License Server

Follow these steps to ensure that the license server works on the remote machine.

Copy the ASMX file

Copy the ASMX file created earlier to the server.

Copy the License Keys

The keys used to sign the license must be available on the server to validate and sign new licenses. Copy the keys to the server and adjust the KeyFolder property of the license server to point to the location on the remote server.

Update connection string

If you will use a different database on the server then you must modify the connection string stored in the ASMX file to use the other database.

Copy the licensing assemblies

You must copy both the DeployLX.Licensing.v5.dll and the DeployLX.Licensing.Management.v5.dll from the Redistributables folder where DeployLX was installed to the Bin folder on the server. DeployLX comes with versions of each assembly compiled against .NET 2.0 and .NET 4.0. Be sure to copy the version that matches the version of ASP.NET installed on the server.

Ensure basic security rights

The licensing and management runtimes require Full Trust or explicit trust. You will need to consult your host provider to determine what security settings have been applied to the server.

See the Security & Trust Configuration topic for details.

See Also