views:

587

answers:

3

I have a .net application (c#, Winform and libraries) that I want people to download from the Internet freely. But once installed they'll only be able to run it if I give them a license (and I want to be able to give different licenses according to what feature I want to unlock). I also want the license to be time-limited. After it expires it should get renewed over the internet automatically. I want to control from a centralized server which licenses can get renewed and which ones cannot. I don’t want to rely on an Internet connection every time the user opens the application, but rather only when the locally stored license is expired and a renewal is needed. Any recommendations on how to program such functionality? Thanks, Nestor


Something like .NET Access Control Service would be good, except that I don't want to hit the Internet every time the application is run, but rather, say, once per week.

A: 

Check this link out: Licensing

Would this help you ? You could override the GetLicense and re-implement the rules for checking the license to be as flexible as you want it to be ...

Andrew Keith
Interesting link. But I guess it only applies to Winforms (and controls). How would I license libraries?...
Nestor
+2  A: 

CryptoLicensing For .Net licenseing software does most of the things you need:

  • TIme limited licenses
  • Renewal over Internet via License Service controlled by you
  • Disable specific licenses so that they cannot get renewed.
logicnp
+1  A: 

I'd add Client Application Services. It can also work offline, by caching login information for a configurable amount of time.

Nestor