Joined: 28 Feb 2005
|Posted: Thu Jul 21, 2016 1:18 am Post subject: Backward Compatibility
|When you upgrade to Version 6 from earlier versions, by default, existing products in License Tracker have their backward compatibility option set to restrict the options available to those supported by the version of ILS used to generate the license parameters for the product. For instance expiry dates on licenses were not supported before Version 5.8 so these would be disabled if Backward Compatibility is set to Version 5.7 or earlier.
If you update your application code to use the latest Version 6 assembly (or source code) and you leave the backward compatibility option unchanged in License Tracker then applications compiled against both older code and newer code will be able to authenticate license keys - however you won't be able to use the new version 6 features.
If you want to use the new version 6 features then you have three options:
1. Upgrade your code to use Version 6 source code, release a new version of your application, then change backward compatibility to Version 6.0. Customers who have an older version of the application will still be able to run the application, however they won't be able to install their licenses on another computer using an older version of the application. They will need to download and install your latest version. If they do attempt to install their license key using an older version of the application they will get an error message like:
|The license file contents have been modified and the license is no longer valid. You may need to reinstall the license using the original License Key provided to you when you purchased the product.
This is because the license file now contains elements that the old version doesn't recognise and so the signature no longer matches.
2. The second option is to create a new product and use the same product settings. To do this you need to use the "Export Settings" button for the existing product then use the "Import Settings" button for the new product. Using the same settings will ensure that old license keys can be used for the new product. The new product has to have a different name (eg "My Product" => "My New Product") - which may be problematic because this name is displayed by default in the license dialogs and messages. You setup the IPN.NET data for this product to match your existing product and remove the IPN.NET data for the old product. The advantage of this approach is that existing customers can continue to install their license keys on both the old and new versions of your application. But this is a disadvantage for you too - because they can bypass the new features in Version 6 (Clone Detection/Block Terminal Services) by continuing to use the old version of your application.
3. The third option is to wait until you are doing a more major upgrade (possibly paid) and at that stage create a new Product with completely new settings. Existing customers have to obtain a new license key to use the new version of the application (if it is a paid upgrade then this isn't an issue).
We ourselves use a mixture of approaches 1 and 3. For ILS the change to using the Version 6 features was (obviously) associated with a major paid upgrade so we created a new Product (option 3). For Globalizer we released a new minor upgrade which included changing the licensing over to use Version 6 features (option 1). This meant that existing customers needed to download the latest version Globalzier if they needed to reinstall their license key for some reason.