Recover from accidental elevated TA_USER initialization

Is there a recommended way to switch an existing installation (i.e. licensed product) from TA_USER to TA_SYSTEM?

More details:

We shipped a bug in our code where we initialized the license system, on Linux, with TA_USER (via TA_CheckAndSavePKey) from an elevated process. The intent was to use TA_SYSTEM.

The result is the hidden licensing files are under /root instead of /var/lib, making them inaccessible, even for reading, to non-elevated processes. This wasn't initially spotted because the product was running elevated for subsequent licensing calls, but we can't count on that being the case for this product in the future, or other licensed products that can be installed on the same system.

We plan to ship the fix to our licensing program so it uses TA_SYSTEM, but need to understand what will happen to already-installed systems, and what we should have customers do (or, ideally, we can do under the covers) to keep their software running.

Does that make sense?

You can just run your app again as an elevated process with TA_SYSTEM it it will fix it.

So they would need to reactivate with the license key again, presumably? Any need to deactivate first?

They would need to activate and your app would need to use the correct flag (TA_SYSTEM). So, normal activation process (TA_CheckAndSavePKey() and TA_Activate() )

Got it. Thanks.