It's sort-of possible. Namely, if you're using verified trials and you call TA_TrialDaysRemaining() it will return TA_E_MUST_USE_TRIAL if you have't called TA_UseTrial() previously.
If you're using unverified trials all bets are off.
I'd like to test whether or not a trial has previously been activated on the system, without actually attempting to start a trial period via UseTrial(). Is this currently possible, and if not can this feature be added?
Use Case:User installs the software. After verifying that no key is currently installed, I'd like to check to see if a trial has been started yet; if not I'd like to give them the option to either enter a key, start a trial, or close the application. If the trial has already been started, I'd then just continue the trial (or if expired, require them to enter a key).
It's sort-of possible. Namely, if you're using verified trials and you call TA_TrialDaysRemaining() it will return TA_E_MUST_USE_TRIAL if you have't called TA_UseTrial() previously.
If you're using unverified trials all bets are off.
Ah! I was under the mistaken impression that I had to call TA_UseTrial in the current instance of the application. So if I've *ever* run it, TA_TrialDaysRemaining will return the current number of days remaining -- I can call it immediately upon startup without having to first run TA_UseTrial.
Thanks for the clarification, Wyatt!
I would like to confirm if the above mentioned scenario still holds true. According to the current design I have to use TA_UseTrial() and TA_TrialDaysRemaining() every session of my application. If I use TA_UseTrial() in the first session and TA_TrialDaysRemaining() in every consecutive session of my application, then TA_TrialDaysRemaining() returns TA_FAIL. Am I doing anything wrong ?
Always call TA_UseTrial(). Previously we said it was required but didn't force compliance. Now we both say it's required and force compliance.
Is there any other way to know if trial activation has happened before without using TA_UseTrial() ?
No.
What are you trying to accomplish?
I am having issues with few of my virtual machines. TA_UseTrial() returns success even if the machine is disconnected from the internet. These machines have never been activated using limelm.
>> "TA_UseTrial() returns success even if the machine is disconnected from the internet. "
If you're using verified trials, then no, that's not true. It won't re-connect to the activation servers every time you call the function. Nor does it claim to (read the function definition for TA_UseTrial() in TurboActivate.h).