The SpAgent runtime replaces the older legacy SLP (Microsoft.Licensing) Runtime. While the SLP Runtime continues to be supported, this support is restricted to bug fixes - we are not incorporating any new features added to SpAgent. Also newer licensing solutions (e.g. USB Licensing, CRM and Azure solutions) are based on the SpAgent runtime only.
There are several compelling reasons to upgrade to SpAgent at the earliest possible opportunity:
- Access to new licensing features: - New licensing features and models are implemented only in the SpAgent runtime e.g. CRM and Azure solutions, Removable Stores etc.
- Simpler integration with build environments: - The SpAgent components and tooling are delivered as NuGet packages. There is no need to install Code Protector SDK on dev/build boxes, and so one can build a licensed application on any machine without installing any tooling required by SLP runtime
- Easier to manage upgrades: - To upgrade the classic SLP runtime, you need on each dev/build machine to uninstall the old Code Protector version, install the new version, and then install the new permutation file. With the new SpAgent runtime, you can simply choose to upgrade the NuGet packages and that will keep everything in sync.
- Configurable license storage options: - The SpAgent does away with the complexity of registry-based license stores and licenses can be stored in local file system, on file shares, on Removable (USB) Devices and even in Azure cloud storage
- Create custom Activation Dialogs: - With SpAgent you can create your own activation dialogs in place of the default activation wizard automatically displayed by the SLP runtime
- Improved runtime API for activating and querying licenses: - simpler, cleaner API than that of the SLP runtime.
What's Involved In Migration
Migration to the SpAgent runtime from the older SLP Runtime is straightforward and involves the following "once off" development work:
- Install NuGet packages to access Code Protector and runtime components
- Configure the appropriate license storage option
- Implement Activation dialogs for both Online and Manual (Offline)activation mechanisms
- Select methods to be licensed/protected using new SpAgent Protection or Licensing attributes
- Rewrite any application code that queries the runtime API
The major changes are the implementation of activation dialogs and the removal of support for registry-based license stores.
The SLP runtime included an activation wizard that could only be customised with great difficulty. With the SpAgent runtime you must implement a license activation UI in your application. This should support both online and offline (manual) activation scenarios.
License Store Configuration
As there is no support for registry-based license stores in the SpAgent runtime, it cannot access existing license stores created in the registry by the older SLP Runtime. This means any existing licenses must be re-activated if an application instance on a customer site is being upgraded to use the new SpAgent runtime.
Please refer to Getting Started With Licensing for more details on the steps involved in licensing an application using SpAgent.