By default the Microsoft.Licensing Runtime (the SLP Runtime) does not automatically renew subscription licenses due for renewal. An application that is using the default Activation Wizard will display a Renewal UI when the runtime detects licenses that are in their grace period and so due for renewal. A license is in its grace period when the Expiry Date has been exceeded by less than the number of days specified in the license's Grace Period.
Typically when a vendor implements a customer Activation Dialog to replace the default Activation Wizard in the Runtime, a Custom NotLicensedHandler is used in place of the Standard NotLicensedHandler.
In versions of the SLP Runtime prior to 3.2.1937, when a Custom NotLicensedHandler is implemented the Runtime will automatically attempt to renew any locally installed, renewable license that is in its grace period.
With 3.2.1937 and later versions of the Runtime it is now possible when using a Custom NotLicensedHandler to suppress this autorenewal feature by setting the following appsetting in the application config file:
<add key="Slps.Renewal.InhibitAutoRenew.ProductName|ProductVersion" value="true" />
where the ProductName and ProductVersion are as specified for the product in the product defintion in the vendor's Software Potential account e.g.
<add key="Slps.Renewal.InhibitAutoRenew.Medical Image|2012" value="true" />
The effect of setting this flag when using a Custom NotLicensedHandler is that the runtime will not attempt to auto-renew (i.e. silently renew) any license due for renewal. It is therefore the responsibility of the vendor to implement (as part of the custom activation process) appropriate mechanisms to:
- Detect renewable licenses that are in their grace period and so ready for renewal.
- Present an appropriate UI to the end user where user approval is required for such a renewal.
- Initiate a renewal request via the Runtime API.
Using with Standard NotLicensedHandler
It is important to be aware that this setting in an application that is using the default Activation Wizard (i.e. configured to use the Standard NotLicensedHandler) will result in the standard Renewal UI form NOT being displayed when the runtime detects licenses that are in their grace period and so due for renewal. Unless you (the vendor) provide a replacement notification and renewal mechanism, this means
a) the user will not be aware of licenses requiring renewal and, more importantly perhaps,
b) the license will not be automatically renewed and so will expire causing the application to fail to run.