Using Custom License Parameters for Feature‑Based Licensing

Protection PLUS 5 SDK provides flexible support for feature‑based and module‑based licensing. You can define custom licensing parameters that your application evaluates at runtime to enforce license entitlements. This allows you to ship a single build of your software and license it in many different ways—per customer and per license—without maintaining separate builds.

Because licensing requirements vary by application, Protection PLUS 5 SDK offers multiple options for defining custom license parameters. The most flexible approach is to use CustomData fields in the license.

Custom Data Overview

CustomData can be stored as XML in the license file and can be defined at several levels:

  • License
  • Product Option
  • Product
  • Author
In this article, “Custom Data” refers to the XML data stored in CustomData fields. For feature‑based licensing, the LicenseCustomData field is typically used, as it allows parameters to vary on a per‑license basis.

Ways to Set and Update Custom Data

There are two primary ways to define and manage the Custom Data field:

  1. Manually, through the SOLO Server web interface using Custom Parameter Sets
  2. Programmatically, using the UpdateLicenseCustomData web service

Both approaches result in XML data that is embedded in the license and delivered to the customer.

Using Custom Parameter Sets

A Custom Parameter Set lets you define all required license parameters in advance. SOLO Server automatically generates the corresponding XML, which is included in the license file delivered to the customer. Your application simply reads this data locally and enforces features based on your own business logic.

The typical workflow is:

  1. Define a Custom Parameter Set with the parameters your application requires. Default values can be chosen
  2. Assign the Custom Parameter Set to a Product Option
  3. Set parameter values for each License ID that is created. You can also update these parameter values in the future

You can define any parameters you need, and your application can interpret them using whatever business logic you require. For example, the simplest approach would be to use a boolean value to determine whether a feature is licensed to run or not.

Benefits of Custom Parameter Sets

  • Ensures a consistent XML structure across licenses
  • Simplifies license creation and updates
  • Displays parameter values to customers in the Customer License Portal
  • Avoids manual XML editing

Product and Product Option Considerations

In most configurations:

  • The Product represents the application
  • Product Options represent different license types for that application

When using Custom Data, a single Product Option can potentially cover all licensing scenarios. However, some customers prefer multiple Product Options for organizational or reporting purposes.

Each Product Option can:

  • Share the same Custom Parameter Set, or
  • Use similar Custom Parameter Sets with different default values to streamline manual license creation

Programmatic Licensing Scenarios

For automated workflows, you can:

  1. Create a license programmatically
  2. Update its Custom Data using the UpdateLicenseCustomData web service

When using Custom Parameter Sets, the XML you submit must match the defined structure.

You may also submit fully custom XML without using a Custom Parameter Set. However, note the following limitations:

  • Custom Parameter Sets support only a single level of XML.
  • Custom XML that does not use a Custom Parameter Set:
    • Will not be displayed in the Customer License Portal
    • Will appear only as raw XML in the admin interface

This approach is best suited for advanced or highly specialized scenarios where visibility in the Customer License Portal is not required.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us