One problem that you have nowadays, if you work with .NET client-side applications is that your executable can easily be copied/pirated to multiple machines. If you are trying to make a living by writing software, this is not great because once “a copy” of your software is out on the internet, it can (and will) be copied and passed around freely without anyone actually paying to use it.
Although you can write your own licensing provider, which I’ve written about – it’s not ideal. You have to spend a remarkable amount of time coming with some bullet-proof logic – and even a validation service. Just handling licensing can easily become an enormous project on it’s own.
In other words, although .NET has a nice simple framework for licensing, it’s far from a complete product and it’s not secure in any way. If you want robust licensing capabilities, such as supporting “activation” – you either need to build it or buy it.
What are your options?
Well, if you look around, you have basically 3 options:
- Write something yourself and hope it works as expected. I’ve spent a fair amount of time on this – this is no small task, at all.
- Check the internet for an endless supply of home-grown products – with varying levels of questionable security and capabilities
- Pay top-dollar for the professional stuff
There is another option though. This particular company: LogicNP Software (http://www.ssware.com/) has an –unbelievably– comprehensive product that appears to be extremely well-written and very capable. As of this writing, the prices range from $149 to $399 for a single developer. So, you can decide how much your time is worth when you decide if you want to build or buy!
What can LogicNP CryptoLicensing for .NET do?
I am truly impressed at the features. If anything, maybe it actually does too much. For example, you can:
- Create trial software based on days, number of times launched, limit run time, etc
- Hard expiration date – like for beta software that you want to stop working after a date
- Have multiple features like: Standard, Professional, and Enterprise (or up to 2,040 other customizable features)
- Limit the app to run on a specific machine and only use a specific strong-name
- Have a “license server” (an .asmx web service) that you can host on your public site with YOUR database, to handle client-side activations. The service and database are already created, you just add to your existing site.
- Have offline (and over-the-phone) activation of software
- Embed the license validation information in your .exe so there is not an additional .dll to deploy.
- Several options of where to store the license: file system, registry, embedded, etc
It’s almost endless. There was no scenario I could think of that this software doesn’t support. I can’t overstate how impressed I am at how comprehensive this product is – especially compared to anything else out there.
For me, there are certain things you want to build versus buy. In this case, this seems like an obvious answer. This is an extremely comprehensive application that addresses 100% of the license needs I have – and for the price, it’s well worth it.
By the way, you can get a 30-day trial of that software here: http://www.ssware.com/cryptolicensing/cryptolicensing_net.htm