How do I restrict customers with expired software maintenance from accessing newer versions of my software?
View our blog post for a general summary of this topic: How to limit software version updates to users with valid maintenance agreements
Regularly updating and maintaining an application is almost always an inescapable requirement in the life cycle of a successful software product. Accordingly, if you want to offer your customers new features on a periodic basis, the concept of a software maintenance subscription allows you to market new releases of your software product on a subscription or transaction fee basis.
SOLO Server allows you to manage software maintenance subscription processing and control access to new versions of your software based on a license's maintenance expiration date.
Maintenance Expiration Date
Licenses in SOLO Server have a Download Until date field on the License Details page, which can indicate the expiration date of a customer's maintenance subscription. This field is only shown for licenses where the corresponding Product Option's Days to D/L field is configured with a value greater than zero (0).
Controlling Download Access
When the Download Until date is used, the customer may only download the software through the Customer License Portal as long as the license’s Download Until date has not expired. Setting the Days to D/L field to zero (0) means there is no Download Until date, and the user has access to download from the configured URL indefinitely.
When using our integrated eCommerce, the Customer License Portal can also give customers the option to purchase maintenance subscription renewals and software upgrades.
If you are not using the Customer License Portal to validate download access, or if you want to make sure the maintenance expiration date is enforced within your software, see the next section.
Validating the maintenance expiration date
By comparing the maintenance expiration date of a license with a hard-coded release date within your application, you can determine whether the customer is licensed to use that version of your software.
In Protection PLUS 5 SDK, the Download Until (maintenance expiration) date is included as the EffectiveEndDate in the local license file. If the hard-coded application release date is after the EffectiveEndDate, then you would prevent access to the software. For example, if you release version 126.96.36.199 that has a hard-coded release date of 3/15/2020, and the maintenance expiration date of the license is 2/5/2020, access would be denied and you could prompt the user to renew their software maintenance to use this version.
Your software would need to be configured to Refresh the license to make sure it has an updated maintenance expiration date from SOLO Server.
Validating before installation
For a more user-friendly experience, you would want to perform the same check at the beginning of the installation process. You can prompt the customer to enter their License ID and Activation Password, and use our web service method InfoCheck to look up the maintenance expiration date of that License ID. If the hard-coded application release date is after the returned "DownloadExpiration" of the License ID, you could warn the user that they will need to either renew their maintenance or purchase a new license.
You could include additional logic, such as checking for an existing local license file first, and if the EffectiveEndDate is valid, then simply allow the installation to proceed.
Without this check during installation, a user could potentially install the software, activate, and then find out they are not licensed to use this version. Since an activation was consumed, the customer would need to either:
- Renew their software maintenance and Refresh their license so they can use the version they installed
- Install an older version on the same device that their activated license would allow them to use
Expiration Notifications and Reporting
Your customers can be automatically notified by email when his or her software maintenance is about to expire or has already expired through SOLO Server's Customer Subscription Expiration Mailing or Subscription Expiration Notification Mailing. The email can include whatever text you want to inform them about renewing their maintenance.
If you want to export data about maintenance expiration dates to use in another system, use the menu Reports and then choose Expired Licenses to generate an on-demand listing of customers with expired (or nearly expired) maintenance subscriptions. This includes the customer contact information such as email address (if available).