How can I control renewals of subscription licenses when I create my own activation dialog? (FAQ147)

I have written my own custom activation dialog to replace the standard Activation Wizard but notice that subscription licenses automatically renew without any user involvement. I want to be able to prevent autorenewal to ensure the user is involved in initiating/approving any renewal (as happens with the standard Activation Dialog)

Typically when a vendor implements a customer Activation Dialog to replace the default Activation Wizard in the Runtime, a Custom NotLicensedHandler is used.

In versions of the 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. 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.

With 3.2.1937 and later versions of the Runtime it is now possible when using a Custom NotLicensedHandler to supress 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 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.

Link to this

FAQ147

You can link to this item directly, using the shorter URL support.inishtech.com/FAQ147.