Unexpected License Deactivation

Our situation is as follows:

  1. Added a product on app.cryptlex.com in 2022; product name = MyApp.
  2. Copied the productID in 2022 and embedded it into the software.
  3. Issued licenses in 2022.
  4. Ran the software with license features in 2022.
  5. Updated the productID in 2024 to use the latest version of Cryptlex (the same MyApp product, but the productID changed).
  6. Ran the new software in 2024.
  7. Existing activations of licenses can no longer be used in 2024.
  8. On app.cryptlex.com, the licenses still show as activated for the MyApp product.

We want customers to be able to use the same licenses that are already activated for the same product without requiring a separate license reactivation (deactivate and then activate again).

Do you have any solutions or suggestions?

Hi @Jose_T_Kim,

Thank you for reaching out!

ProductId won’t change and is unique for each product. Please update the product.dat file as new product.dat additionally contains your accountId which was missing in the older versions.

Please help us with the error message/code.

Yes your correct, I mistake selecting terms

the product ID is same as below
8f2e8aba-ce73-4c9e-9a81-948a517a3929

but the product.dat changed

every time I checked that value from app.cryptlex.com is varied

========================================

Let me explain the situation in other view

our previous software deployed with 2022 versioned CryptLex

which does not have LA_ALL_USERS option

but our current software developed with newest version of CryptLex

And at the same situation

the error message is

The system time has been tampered (backdated).

and the error code is 69 (LA_E_TIME_MODIFIED)

again, the previous version of software run well with the activated license

but when we activate license at the old versioned software

the newest software do not detect the license

(both of them has same productID, but different product.dat and cryptlex dll version)

One more thing,

when we activate the license at the newest versioned software first

then the previous version of software run well with out occurring any license issue

thank you

Hi Jose,

In the new version, did you use the LA_ALL_USER flag instead of LA_USER? If so, this behavior is expected.

The LA_ALL_USER flag stores activation data in a folder accessible to all users of the operating system, whereas the LA_USER flag stores activation data in a folder specific to the currently logged-in user.

As a result, if the license was initially activated using the LA_USER flag and is later accessed with the LA_ALL_USER flag, LexActivator will fail to detect the activation.

Let me know if you need further clarification!

Every time you retrieve the product.dat, this data is fetched from the database, encrypted using the AES encryption algorithm, and served as a file download. AES generates different encrypted data every time it is used, even if the data is the same. *So content is always the same, just the encrypted data appears different.

Additionally, LA_E_TIME_MODIFIED error indicates that the system clock has been tampered with. You can try to increase the Allowed Clock Offset value of the license by the time difference between the network time and the system time (in seconds). Please note that this is a separate error and has nothing to do with the product.dat.

@AneesKhan OK when I increase the allowed clock offset the error code 69 no more appears

and following @adnan-kamili 's comments it failed due to changed activation option LA_USER into LA_ALL_USERS. (with error code 1 = LA_FAIL)

when we changed activation option into LA_USER at the latest SW, the license check passed smoothly

So, in the case of changing activation type,

In my understanding,

every time we have to manually deactivate previous activation (with LA_USER) then

reactivate license with new activation option, LA_ALL_USERS

and there is no way to use previously activated license without reactivation process right?

Hi @Jose_T_Kim,

If you switch to LA_ALL_USERS flag, LexActivator won’t be able to detect activation done through LA_USER flag, so a reactivation will be required on existing machines. The reason for the same has already been mentioned by @adnan-kamili: “The LA_ALL_USER flag stores activation data in a folder accessible to all users of the operating system, whereas the LA_USER flag stores activation data in a folder specific to the currently logged-in user.

Please note that you do not need to manually deactivate the license first and then reactivate, since the underlying machine is same and the fingerprint will also be same, so just a reactivation will update the existing activation from server side.

OK, I understood.

now, we decided to manage two types of license (LA_USER, LA_ALL_USER) separately
both in programmatic way and in sales criteria.

thank you for your kind explanations

:slight_smile: