Hi
I’m in the process of migrating all my licenses from “Product Versions and Feature Flags” to “Features and Entitlement Sets”. I’ve created the relevant features and entitlement sets in the portal, have linked the entitlement sets to my existing licenses.
On the client side (I’m using Delphi on Win32) I previously shipped lexactivator.dll V3.24.1. I have now replaced that with lexactivator.dll V3.44.0 (latest). That means that the existing local activation data on all client machines (which was created using V3.24.1) will initially not include any information related to features and entitlement sets. That information will only be populated the next time a server sync is performed. The first time an existing client opens my program (now using lexactivator.dll V3.44.0) and I call GetFeatureEntitlement I am expecting an ELAEntitlementSetNotLinkedException error, following which I then fall back to GetProductVersionFeatureFlag instead.
To test this, I need my machine to not include any local activation information related to Features and Entitlement Sets, so I need a way to clear that information again after it was created by a server sync or activation using V3.44.0. I tried deactivating the license on the current machine (using V3.44.0) as well as calling LAReset (using V3.44.0), but neither of these seem to clear the local entitlement set information.
My process is as follows:
Using V3.44.0, I deactivate the existing license and/or call LAReset.
I then copy in lexactivator.dll V3.24.1 and activate the license. That should not generate any feature or entitlement set information.
I then copy in lexactivator.dll V3.44.0, and run the updated version of the program that calls GetFeatureEntitlement. I’m expecting ELAEntitlementSetNotLinkedException but instead I get ELAFeatureEntitlementNotFoundException (entitlement not found).
If I then call GetLicenseEntitlementSetName I expect an empty string, but it returns the name of the entitlement set that was linked to the license that used to be activated on this machine (before it was deactivated).
Both of these seem to indicate that the Features and Entitlement Sets information is not being cleared during deactivation and/or manual calls to LAReset. It is now impossible for me to recreate an ELAEntitlementSetNotLinkedException to check my legacy fallback code, because I can’t clear to the local activation data once it’s been set.
Is this a deactivation/LAReset bug?
In the meantime, how can I clear the local activation data (including features and entitlement sets) manually?
Thanks
Deon