Offline Activation - Licence length?Solved

If you activate the software using the offline method, does it stay activated forever? Is there no expiry date for the activated software?

It's up to you. You can force customers to re-activate every X days. It's all in the skip-offline variable when you use IsGenuineEx().

Is there any function to know whether the activation is the online or offline type ?

Nope, it's handled internally. Use the flag to control whether you want to let offline activations never reverify or reverify after X days.

Thanks

Next question is, how is offline licenses managed at the server. Is it also listed in the list of product key or something else is there ?

I am getting little confused, please correct me if i am wrong..

if I put, ta.IsGenuineEx(25,10,false), this means, in every 25 days the application will connect with activation server to verify its legality, and 10 days are a grace period where the user can use it even the license is expired, and offline files are also verified. Am I right ? If I put 0 in place of 25, will it connect to the server everytime the application runs ?

Thanks

>> "If I put 0 in place of 25, will it connect to the server everytime the application runs ?"

Yes, but don't do that. There's absolutely no reason to check on every run of your application.

Thank you for your reply. Can you also answer these from pervious post

1) how is offline licenses managed at the server? How to keep a track history ?

2) in ta.IsGenuineEx(25,10,false), 10 is grace period. Can you explain little on this.

3) if my trial expires on 25th day, i should put ta.IsGenuineEx(26,10,false) or check each day by ta.IsGenuineEx(1,10,false)

Thanks

>> "1) how is offline licenses managed at the server? How to keep a track history ?"

I'm not sure what the question is. It's stored internally. We don't expose those values.

>> "2) in ta.IsGenuineEx(25,10,false), 10 is grace period. Can you explain little on this."

The customer activates. 25 days later your app will attempt to reverify. And for the next 10 days will will continue to try (at a maximum frequency of every 5 hours). After 25 + 10 days since the customer either originally activated or last re-verified then, and have since failed to reverify, then the customer will no longer be able to use your app.

See the examples for how best to handle this case (i.e. show the user a dialog to let them re-verify immediately in that case).

>> "3) if my trial expires on 25th day, i should put ta.IsGenuineEx(26,10,false)"

Yes, that. And check the custom license field.

Thank you once again for the reply. Sorry to make question 1 confusing, let me rephrase it.

1) In online activation method, we can see the product/license keys and can see its status, whether it is being unused, used, activated etc. Similarly, do we have any option for the offline activation method? Once the user sends the activation request xml to me, I will generate an activation response file and send back to the user. Now, how do i know whether he has activated the application with that response file. It would have been easy if some list like in online license key.

I hope i made it better than last time. 🙂

The instant you use the activation request to generate an activation response it takes up an "activation slot" on the server. Whether the customer actually uses the activation response is up to them, but presumably they would.

If you want 100% guarantee that they've been activated then use online activation. Otherwise you have to deal with the uncertainty that's inherent in offline activation (just by the very nature of what has to happen).

Hello,

I am having some inconsistent result, while activating the xml file generated from the application to get activation file at https://wyday.com/limelm/activate/. It states, 'Product Key doesn't exist'. However, I have placed some random keys(alpha+numbers) inside the function ta.CheckAndSavePKey() while generating the file. It is very inconsistent. Sometimes by changing the keys, it successfully activates the file in the url. Do I need to generate the product key from the server like in online activation and use that, but again it works with some random keys sometimes.

Thanks

Hello,

One more serious question, If the product key is deleted from the server the user cannot use the application instantly or can use till the next time the application connects to the activation server.

Thanks

No random keys dont work with activations. TA_CheckAndSavePKey() will succeed with deleted keys because it does an algorithmic check of the product key. It does not verify the product key with our servers at all.

Thats what activation is for.

As far as deleting keys, revoking activations, and deactivating a customer remotely, this is all covered in the LimeLM interface. Namely, the next time the customer revert dies with the servers does the customer actually become deactivated.

Hello,

I am not clear with your reply to the first question. Looks like you incomplete the sentence, 'TA_CheckAndSavePKey() will succeed with deleted keys because it does an algorithmic check if the product key.'

Please clearly tell me,1) What should I use inside 'TA_CheckAndSavePKey()' function for offline activation.

2) What is 'Product key doesn't exist' error related in this url https://wyday.com/limelm/help/offline-activation/3) If I have to generate 5 offline activations, do I have to use 5 different strings inside the function TA_CheckAndSavePKey() ?

Thanks

Sorry, answered it on my phone. Had some typos. I fixed the response.

1. Just call it for either online or offline activation.

2. Youre trying to activate a product key that doesnt exist. Make sure you have only a single LimeLM account and the product key exists in that account. If youre having a problem offline activating a product key that exists then shoot us an email with the account youre using and the product key in question.

3. Create 5 product keys. Then the customers will generate activation request to which you will generate an activation response. Or the customer can just online activate.

Hello,

I am not sure whether it is me who is not understanding or your answer is not clear. Let me clear it once again. This question and thread are for offline activation based on the information on this page https://wyday.com/limelm/help/offline-activation/. It states, 'In the TurboActivate API: by using the TA_CheckAndSavePKey() function to save the product key that will be activated, and then calling the TA_ActivationRequestToFile() function.'

So, according to the instructions, I should call TA_CheckAndSavePKey() function first and then TA_ActivationRequestToFile() function. However, what should I use inside the function TA_CheckAndSavePKey() as it takes a string as a parameter. In case of online activation I am clear, I should pass the product key generated at the server. However, what should I pass in offline process. I passed some random value here and then later used TA_CheckAndSavePKey() to save the 'activation request' file. When I used this file to generate 'activation response' file at https://wyday.com/limelm/activate/ I was shown an error, 'Product key doesn't exist.' I have shown that error here, https://www.dropbox.com/s/hlwv4gma7xfyere/Screenshot%202017-07-30%2014.21.59.png?dl=0

Please I am really stuck at this point. If possible reply in simple steps and words.

Thanks

Whether you use online or offline activation the customer *must* enter a product key. That's what you enter when you call Ta_CheckAndSavePKey().

See TurboActivate.h and the Example.c for full examples, plus a full description of every single function we have.

Broadly these are the steps (described in the help document, shown in the examples, and described in the documentation):

1. Customer enters a product key (a.k.a. pkey). Yes, it has to be a valid product key. Random characters are not valid.

2. The customer activates your software. Either they activated it online (recommended!) or offline (more steps for you).

In either case step #1 is required.

So, this means, (for offline activation)

1) I should provide valid pkey from the server to the users2) They will enter this key and generate 'activation request' file.3) This file will be sent to me and I will generate 'activation response' file which will be sent to them again.4) They will use this 'activation response' file to activate the application.

Am I right ? Even this is right, I am still getting the error 'Product key does not exist' like in that Dropbox image when used valid unused pkey from the server. What might be the problem ?

Thanks

OK. Let's take a step back. My guess is that TA_CheckAndSavePKey() is failing. Why? It could be a thousand reasons (for example, you might be activated with a product key that no longer exists online -- i.e. you deleted it -- but now you're calling TA_CheckAndSavePKey() with a new product key, it's failing, but you never notice the failure).

Are you checking for an error code? Give us some code to look at and we'll be able to help you further.

Example code is like this,

ta.addEventListener(TurboActivateEvent.CHECK_AND_SAVE_PKEY, onCheckAndSavePkey);ta.CheckAndSavePKey("ABCD-EFGH-IJKL-MNOP-QRST-UVWX-YZ12");

private function onCheckAndSavePkey(evt:TurboActivateEvent):void{ta.removeEventListener(TurboActivateEvent.CHECK_AND_SAVE_PKEY, onCheckAndSavePkey);if (evt.ErrorObj == null){ ta.ActivationRequestToFile('somepath with filename';}else{ pkeyWin.ShowError(evt.ErrorObj.message); pkeyWin.enabled = true;}}

The pkey 'ABCD-EFGH-IJKL-MNOP-QRST-UVWX-YZ12' is still at the server and it is completely unused.

Error is null and after taking a file created by ta.ActivationRequestToFile() to the manual activation page, https://wyday.com/limelm/activate/ it shows 'Product key doesn't exist'.

Thanks

1. What version of TurboActivate.dll are you using? If it's not the latest version (4.0.9.6) use that and try again.

2. What happens when you call ta.GetPKey()? What's the result? Is it different than the key you think you're using? (What happens when you search for the key in LimeLM? Is it found?)

1. What version of TurboActivate.dll are you using? If it's not the latest version (4.0.9.6) use that and try again.-> I am already using that. I am on mac.

2. What happens when you call ta.GetPKey()? What's the result? Is it different than the key you think you're using? (What happens when you search for the key in LimeLM? Is it found?)-> with ta.GetPKey(), I can see the same pkey that i use inside ta.CheckAndSavePKey(). The problem is activation page is not finding the product key, now is it inside the file or at the server, not clearly stated.

Now suddenly the old files that showed an error " Product key doesn't exist " started working again at https://wyday.com/limelm/activate/

P.S. - the random key also started to work now and I am able to successfully generate 'Activation Response' file. Are you absolutely sure random keys won't work. How did the same file that failed to work earlier started to working now, any guess behind this inconsistencies ?

The problem is back again. It says 'product key doesn't exist'. I have done nothing with the code.

I am frustrated with this error. I largely believe the error is in your activation web page. Please reply me.

We can't reproduce this problem.

Do you have multiple LimeLM accounts? If so, don't do that. While the "offline activation" process looks like you can just pass in arbitrary activation request files from an end-user, that's not actually the case.

For example, an end-user couldn't sign up for a LimeLM account to paste their offline activation request in the textbox. Why? To give you control over who is allowed to offline activate your app.

What would a user get in this case? They would get exactly what you're seeing: "product key doesn't exist". Why? Because a product key is only accessible from 1 LimeLM account (the account from which it was generated).

>> "Are you absolutely sure random keys won't work."

Yes, absolutely. TurboActivate ignores junk input. It returns an error. You're not catching the errors (of if you are, then you're deliberately ignoring the errors).

If you're still getting this error you need to provide a lot more information in 1 block:

1. Version of TA being used. (If you're not using the latest version, do that first).2. Product key being used.3. Offline activation request. (Yes, the XML file itself).4. Your username. 5. Details about the machine being activated. Operating system, operating system version, operating system architecture. (For example: Windows 7, x86)

Shoot this information to support@wyday.com and we'll get back to you as soon as possible.

Every bit of information is important. Also, don't mix-and-match information from previous support requests (it adds confusion, and makes it impossible to find an actual solution).

I have emailed you the details.

Thanks

Ok, LimeLM was correct. The activation request file was for a product key that does not exist on our servers.

How can this happen? Likely, it existed at one time, you deleted it, the customer still has the key hanging around and wanted to slip one past you guys (or genuinely made a mistake).

Either way, LimeLM and TurboActivate are working as expected.