Reset a PC's activation status?

Is there any way to reset a PC's activation status, i.e. make TurboActivate forget that any product key was ever activated on that PC?

Sequence of events :

1. A work colleague (M) in a different dept was given a time limited trial version of software our dept has been working on. This was with TurboActivate 3.8 or similar (I don't know how to check version, but we aren't on v4 yet). He didn't use it much and it expired.

2. About a year later colleague M now finds a use for the software but finds that he can't use it (expired of course). He speaks to someone (J) in my dept who unfortunately decides to delete the old product key off the LimeLM activation server and issues M a new product key.

3. Unfortunately M can't activate with the new key, I believe because he's still activated with the old key. It seems that we can't deactivate the old key because the key no longer exists and I can't recreate it.

When I dig into it, the actual function which fails is CheckAndSavePKey(<product_key>, TA_USER), which returns TA_FAIL.

Can you suggest a fix for this problem? M is going on abroad next Monday and needs the software to work by then, so this is really quite urgent. Remedies such as reinstalling the host OS or deleting his user profile have been considered, but obviously that's a drastic last resort.

Hey Don,

When a customer is activated with a product key they cannot use another key. Not, at least, without first deactivating. I.e. call the Deactivate() function.

This is by design and prevents users from doing crazy things.

Thank you, but that doesn't answer my question.

I know that you can't activate twice on the same PC.

The question boils down to how to deactivate a product key that no longer exists - it has been deleted off the LimeLM server as I explained in my point 2 above.

Ideally I'd like to "reset" that PC entirely, without telling the user to reinstall his OS. E.g. if you could PM me with a registry location which, if I deleted it, would leave me with a PC ready to activate a new product key.

The location of the files varies from device to device. The way to remove the activation files from the computer is to call Deactivate(1) (it's a TurboActivate function -- it deactivates the computer and removes the activation files).

If you're using TA 4.x (you should -- there are many, many bug fixes), then the function is actually call TA_Deactivate().

Ah... I see. I think part of the trouble is in my own code. I'm not offering him a deactivation option because my code doesn't think it's activated. Of course TA thinks otherwise and throws an error if I try to activate.

So Deactivate(1) will still delete the activation records even if the server throws an error because the product key is zapped? That would certainly do the trick if so. It's getting late here, but I'll try it tomorrow.

Thanks for your help.

p.s. I'd love to move to TA4, but my time is not my own and I'm on another project ATM.

Hmm. I didn't get a chance to test "the cure" because colleague M reported that activation worked right away, with the new key, when he tried it again today. I thought I had a handle on this, so I'm struggling to see what could have changed... Did you guys do something on the server perhaps?

>> " Did you guys do something on the server perhaps?"

Nope, we haven't changed anything on the servers. Maybe they've changed something on their computer. or, since you're using TA 3.x, there might've been a false negative and they became deactivated.

Thanks for your responses. I guess we just have to park this for now, given that M is happy. Still, I hate not really knowing why it failed, or why it started working again.