>> "I'm not following what the distinction is here. What do you mean by "clean"/"cleaned" machine? I don't follow when UseTrial() would ever throw TrialExpiredException() on a "clean" machine (if understand what you mean by this). On a clean machine, the first call to UseTrial() should *start* a trial, no? "
Yesproviding the following cases are true:
1.That a trial has never been started on that physical hardware. I.e. the customer hasn't "cleaned" the trials data files and thinks the trial will reset. It doesn't work like that. Even if the customer re-installs Windows on the machine (or Linux, MacOS, etc.)TurboActivate and LimeLM are smart enough torecognize the machine and start where the trial has leftoff --even if that means 0 days are left.
2. That you have more than 0 days as the length of the trial in LimeLM.
>> "Independent of whether TrialDaysRemaining() is ever called I would have thought that UseTrial() would throw TrialExpiredException iff a previously started trial has expired."
No, UseTrial() will only return TrialExpiredException when there are 0 days left on the server and it's a "clean/cleaned" machine.
>> "So, I believe I this would mean that TrialDaysRemaining() always either returns #days (>=0) or throws MustUseTrialException()."
Yes, that will work.