Invalid license key seems to invalidate machine activation



We are attempting to integrate our some unit tests related to our LexActivator implementation and I was noticing some weird behavior that I was hoping to get some clarification on. It appears, at least from my test cases, that if:

  1. I have a machine that has successfully activated a valid node-locked license policy (verified by asserting the return status of IsLicenseGenuine == 0)
  2. Then replace the license key with what should be an invalid key (say something like “BadKey123”). This causes both IsLicenseGenuine() and ActivateLicense() to return non-zero status: 1 (general failure) for IsLicenseGenuine() and 54 (invalid license key) for ActivateLicense(). This is expected.
  3. Replace the license key back with the original valid one. However, I am seeing this causes IsLicenseGenuine to return a status of 1, which triggers a call to ActivateLicense(), which is then successful.

Does this seem correct? Am I experimenting with a weird edge case? Or more importantly, are there status codes within LexActivator (such as the 54 I’m receiving above), that might invalidate a local activation or at least explain why I am seeing IsLicenseGenuine() returning a non-zero status once the original license is replaced (which was used to activate the machine)?

Thank you in advance!



If you change the license key back to the original value, then IsLicenseGenuine function should return 0.
Can you confirm that you are setting it before calling IsLicenseGenuine function.