Lifetime License Desktop Software - Customer asks for new Key due to System Crash after Years

I sell a $30-$50 desktop software that requires only one time payment and offers lifetime license to the customer.Some customers after 2 or 3 years, contacts me to inform that their machine was replaced or OS was changed and asks for a new key for free.
My licensing mechanism is online and a single key can only be used once.

Should i give the customer a new key for free?
Please advice

IMHO your licensing system is too strict.
It is normal for users to change their PC or reinstall Windows.
I would be angry if I had to purchase already purchased software again.


Yup give them a free key.


I have already given them a free key once .

ahm… i have given them a free key once.

That depends.

If you assume that most of your customers are felons who only look for ways to cheat you for a key, then it is prudent to refuse to provide a key.

If you assume that most of your customers are good people who crash or replace their computers regularly and fail to keep the original key, then it is natural to give them the key.

P.S. I heard there is an reverse dependency too - once you start to assume your customers are good people, your customer base indeed begin to shift to the good side.

1 Like

Thanks :slight_smile: I have already reinstated their key

You offer lifetime licenses, so why ask this question? Make your licensing system work automatically so your customers can get keys by themselves, with their email as proof of purchase for example.

1 Like

@All How to prevent customers from reusing the license on multiple machines? The software is licensed per machine and does not require internet connection to function.

This is your engineering problem. Not the problem of users.

This is a solved problem. Namely, hardware-locked licensing (a.k.a. node-locked licensing). There are a small handful of good companies that make this (we’re one of them).

And yes, good licensing can handle simple cases like re-installing the OS, changing components like RAM, harddrives, etc., and see it as the same computer.

So, having a strict and accurate licensing solution doesn’t mean having a licensing solution that annoys customers. We’ve been doing it for nearly a decade and a half, so we’ve had quite a bit of experience solving this problems in non-annoying ways.

Let me tell you that a lifetime license, especially for under $50 (but also for $1000) is a very bad idea. I sold some lifetime licenses long ago. Fast forward 15 years and those guys still contact me about all kinds of things. In the meantime my basic version’s price became 2x of the ancient lifetime version’s price.
Yes, you can automatize license download (I have) and you can lock it to machine (I made my licensing that way). You can’t possibly automatize your time when asked for this and that 10 or 15 years later.
Get rid of lifetime licensing and introduce perpetual use license with a 12-month maintenance included. Then, they can upgrade (you should automate that) and get the support only for the actual version.


I also think free upgrades for life are a bad idea:

Once you have made a promise, you can’t go back on it. But you could change it for new customers.

Thanks a lot for your reply.Can you please let me know what you will do in the following scenario

  • User activates the key on a machine ( i know the hardware fingerprint)

  • User says his machine crashed … may be after 1 Y or 2 Y … i give him a new key,he activates it on the new machine.

In this case, the hardware locking mechanism does not function right? How to tackle this ? How you deal with this situation?

I don’t offer free upgrades for life.How does your perfect table plan licensing work? Do you tie licenses to machines ? And do you recover keys for free ?

Thanks for your reply.Can you let me know how you tackle the scenario i mentioned to @dbulic

I believe lifetime license usually means never expires, free upgrades. Whereas perpetual license usually means never expires, paid upgrades. Hopefully which one of these it is is very clear on your purchase page.

Per user (any number of computers, PC or Mac). Never expires. Paid major upgrades.

I give everyone 3 active activations. This means they can activate on up to 3 machines. If someone gave me money, I trust them to use it for themselves only. The license is per seat, so it should be a single user operating my software on these 3 machines. Are people abusing that? Certainly. I don’t care. If people are abusing the licensing, they wouldn’t pay for another license anyway and I don’t like to be a police to my users.
So, if their machine crashes, they can log into my website, deactivate the machine they no longer use and free up one activation.
The longer you sell your lifetime licenses, the more people you have who will ask you for the help in the future. They may be great users, but that will be drain on your resources.
I suggest to simply sunset the version you have now on the next significant rewrite and offer a separate SKU for the new version. Your old users still get to use the version they purchased forever, as well as install it when it crashes. They just don’t get to ask you things to fix or help in 2035, as is happening to me. Business changes. The most expensive version I used to have back then is now 10x less money than the current most expensive version - and there a no more lifetime licenses.
Also, I am introducing maintenance subscription (30% of the list price per year). If they cancel the maintenance, they keep the version they originally bought but lose technical support and upgrades when the maintenance expires.
Hope this helps.



In LimeLM? You deactivate the same key (click “Deactivate”, or automate it using the web API – whichever you prefer), and the customer can activate on their new computer.

If this customer is lying to you, they won’t be able to use your software on the original computer after a handful of days (because your app, using our licensing, would “check in” every once in a while to see if the key has been deactivated).

This is all covered extensively in our documentation, and it’s as simple as calling a function (TA_IsGenuineEx). The function handles all the details and edge-cases.

This is way too strict. PC can be changed or Windows reinstalled for a number of reasons. I’d never buy a software with such limitations :slight_smile: