Verified trial : TA_USER vs TA_SYSTEM ?Solved

Hello,

We've updated our product to use TA v4, so we'd like to migrate to verified trials.So far, everything is working greatly on macOS, but I've a few questions about verified trials (I didn't find answers on the doc or on the forum) :

#1. What is the difference between the flags TA_USER and TA_SYSTEM ?To provide a better user experience, we don't want to ask for admin password when the user runs the trial version for the first time. So we used TA_USER flag. So far, so good.During our testing, we tried the verified trial on a computer session until no more days were remaining, then created another session on the same computer and checked : it behaved as expected, I mean, the trial was expired on this second session (the trial relies only on machine's fingerprint).However, you recommand to use TA_SYSTEM in your doc ? What would be the improvement over TA_USER ?

#2. Is verified trial cancelling unverified trial ?It's unclear how both systems are linked together : - if unverified trial was used before, the verified trial takes it into account and continues with the remaining days (possibly being directly expired)- if verified trial was used before, the unverified trial seems to be directly expired (no continuous behavior like in the first case)Am I right ?This question may be silly, but since we'd have 2 versions of our product (an older one with unverified trials, and an up-to-date one with verified trials), users could mess around.

#3. How to update extra data ?With license, it's possible by reinvoking Activate(), but I don't see any way to do so with verified trials.

Thank you. Philippe

>> "#1. What is the difference between the flags TA_USER and TA_SYSTEM ?"

This is described in TurboActivate.h. The difference (the only difference) is where the files are stored. With TA_SYSTEM they're stored on a system-level basis (and thus accessible by all users on the machine)

TA_USER the files are stored on a per-user basis (and thus not accessible by other users).

In either case the same activation "slot" or verified trial "slot" is used whether you're using TA_SYSTEM or TA_USER. Using TA_USER doesn't turn the node-locked licensing into per-user licensing.

So, if 2 users activate on the same computer activate on the same computer they'll use the same activation slot. Similarly if they use a verified trial as different users on the same computer the same verified trial will be used.

>> "- if unverified trial was used before, the verified trial takes it into account and continues with the remaining days (possibly being directly expired)"

Correct.

>> "- if verified trial was used before, the unverified trial seems to be directly expired (no continuous behavior like in the first case)Am I right ?"

Correct. There is an error that you can handle.

>> "With license, it's possible by reinvoking Activate(), but I don't see any way to do so with verified trials."

That's correct. We haven't seen a need for it. We'll implement it eventually. Not in 4.1, but later in a bugfix release in the 4.1 branch.

All right, thank you.

Your doc in TurboActivate.h isn't very clear : it talks about activation, but not verified trials. As the 2 concepts are very close (much more than unverified trials), I supposed it was behaving the same.What puzzled me the most, is your recommandation for TA_SYSTEM : while it makes sense when activating a product (better user experience : entering the key only once for the whole computer), it is unimportant much for verified trials (no better protection, transparent for the user).

Anyway, I got my answers, and we're ready to use verified trial in a wider space !

Also noted a possible bug.When invoking with a wrong key TA_ExtendTrial(), I received TA_E_ALREADY_VERIFIED_TRIAL (instead of TA_FAIL). Inappropriate, or very strange at least.

Hey Phillipe,

It might be because you used an unverified trial extension key rather than a verified trial extension key. When you create the key you set what type of trial youre extending.

No, whatever the string is, it returns TA_E_ALREADY_VERIFIED_TRIAL.Just try TA_ExtendTrial() with the strin "abc" for example.

Well look into this.

We were able to reproduce this and fix it. The fix will be included with TA 4.1 when it is released.

This is fixed in the latest version of the TA (4.1.3). Get it here: https://wyday.com/limelm/api/#turboactivate