Licensing Different Applications or Updated Versions

With Instant Protection PLUS 3, you are able to license multiple applications and/or multiple versions of the same application. You can also choose whether a user with an activated license for a given application is required to activate a newer version of that application.

What are my options?

There are two main options to choose from:

  1. License an application/version independently from other applications/versions. ALL users will be required to activate this application.
  2. License an application/version using the same settings as another application/version. NEW users will be required to activate this application.

In most cases, different applications are licensed independently, which is option 1. This means each application would require its own activation and use different local license files. If you offer multiple applications, a customer would need to purchase a separate license for each application and activate them independently.

Option 1 would also apply if you have a major new version/release of your application that is not free to existing customers who have valid license for an earlier version of that application. All users would be required to activate the updated version of the software, but you could potentially offer a discounted price to existing customers for the license upgrade.

Option 2 allows you to release minor updates for an application without requiring a new activation each time for customer who have already activated. This is useful if you want to provide free updates for application, such as all 1.X.X.X versions. You also have the option of requiring active support/maintenance to access new versions.

You can then choose if you want require users to purchase a new license to start using versions 2.X.X.X (option 1 described above), or you can continue to provide free updates for all new versions of this particular application. If a new user installs any version of your application (or if an existing user installs on a new computer), it will always require an activation since they do not have an activated license file on their computer.

With option 2, it is also possible to have a suite a applications that all share the same license settings, and only one activation would be necessary to activate all of these applications.

How to Implement

Achieving either option in Instant Protection PLUS 3 is dependent on the License File Options settings in the wizard.

License an application/version independently

To license a new application independently from other applications, create a new project (.ipp file) using the File / New Project menu option (which automatically creates new license locations).

To license a new version of an application independently from prior versions, make a copy of your project (.ipp file), rename it as appropriate, and open the new copy of the project using the File / Open Project... menu option. Next, step through the wizard to the "License File Options" screen and click the "Create new license locations..." button. This will result in the protected application being licensed separately from the previous version. To apply the change, you will need to either re-wrap the updated application (if using the Instant Protection PLUS 3 wrapper) or save a new XML file (if using the Instant Protection PLUS 3 DLL) and deploy the updated installer.

Important

If you do not use a Version Control System (e.g. Git, Subversion, TFS, etc...), we strongly recommend always saving a separate .ipp project file whenever you make any changes to the Instant Protection PLUS 3 settings, as this gives you a history of the settings you used for different releases of your applications. In this case, the preserved old/original copy retains knowledge of the license locations used in order versions, which is very important to keep.

When using SOLO Server, you would also want to sync to a new Product ID and Option and Validate the Product ID when activating online . This ensures the customer can only activate with the licenses for this particular Product. See SOLO Server Product Configuration for more details about Products.

License an application/version using the same settings as another application/version

To license an application or new version using the same settings as an existing application, open the .ipp project file you used to protect the existing application, and do not change any settings on the License File Options step. You can change other settings as necessary, such as the General Product Information. In the case of a minor update to an application, all you would need to change is the version number and then either re-wrap the updated application (if using the Instant Protection PLUS 3 wrapper) or save a new XML file (if using the Instant Protection PLUS 3 DLL) and deploy the updated installer.

Important

If you have the Reset licenses when injecting/wrapping or saving XML setting enabled in the Tools / Options menu of Instant Protection PLUS 3, it will prompt you for a new activation on your development machine even if you had activated previously and did not change the License File Option settings for the application you are now testing. Turn off the Reset licenses when injecting/wrapping or saving XML setting or use a different computer if you want to test that the activation dialog will not be prompted to users who have already activated in this case.

Requiring active support/maintenance to access new versions

If you issue a non-expiring license, but offer a support/maintenance subscription for that license, you can limit access of new versions to customers who have an active subscription when the new version is released. SOLO Server is required to enforce this. If they choose not to renew, customers will still be able to continue using the current version of the application, which never expires.

Limiting Access to Downloads

You can distribute your software through SOLO Server, and access to the download can be limited based upon the Download Until date on the customer's License ID. This date can also designate when the customer's support/maintenance expires.

Validating Support/Maintenance Expiration Date

If you want to perform an additional check in case a user downloads the new version through another means, you can validate the Download Until of their License ID before you allow the software to run. This requires use of the Instant Protection PLUS 3 API and SOLO Server web service interface.

  1. Call WR_GetLicenseID to get the License ID from the local license file. If the License ID is 0, then the software hasn't been activated yet and you can allow the installation to finish.
  2. Using the License ID as the input, call the InfoCheck method to get the DownloadExpiration date for the License ID.
  3. Compare the DownloadExpiration date against a hard-coded release date for this version of your application.
  4. If the DownloadExpiration date is before the hard coded release date, prompt the user that they need to renew their support/maintenance to use this version, and do not allow the software to install/run.

This check should be performed within your installer and when your application is run. We recommend making the check in your installer since it would not be user friendly to allow the user to install the application and then not allow the user to run that version. By checking at the beginning of the installation process, you can warn the user that they will need to renew their support to use this version of the software.

The same check will need to be performed when the customer runs your software. To avoid needing to connect to SOLO Server each time, the DownloadExpiration date could be written to the local license file using WR_LFSetDate (field 9) during the installation process, and this local field could be compared against the hard coded release date when the application is run. Note that the customer would have to install your software through the installer to use this approach.