views:

35

answers:

2

I have a progam this is a converter for .NET that can be used in other .NET projects. I have two kinds of license:

  1. Developer license for DESKTOP software
  2. Developer license for WEB server deployed software.

How I can protect my program if client buy (1) license he CAN NOT use it on the SERVER.

+1  A: 

If it is desktop software (I'm not sure by the question with the tag), you could use the Environment object to check what OS the code is running on and stop it running on Server Technology. This won't help if they run a server using XP or the like though, but it's a start.

Kyle Rozendo
And will piss off anyone who is running a server edition on their desktop, no?
derobert
Yep, however for the software, it makes sense. Disclaimers are fun? :P
Kyle Rozendo
Yes I don't know what OS the client use. It can be XP. Also I can't decrease the functionality of my .NET component, it has only one function for file converting.
Constantine
+2  A: 

Disclaimer: I don't know anything about .Net, other than how to spell it, and I'm not completely sure about that.

It seems like one difference between a person using your file converter on their desktop and using it on a web server is that only a single instance will be running at a time on the desktop; a web page will probably have multiple instances, once per concurrent request. This seems like something you could enforce in software, and also something you could easily write into a license agreement.

Does IIS run with a graphical console on Windows? If it doesn't, and your desktop version does, maybe you could detect that?

Ultimately, though, if someone wants to get around your server/desktop distinction enough, they're going to; they could, for example, have the web server send the document to a desktop machine, and have the desktop send it back to the server. So, at some point, you'll have to give in and either ignore it or to say that's a problem for legal to handle.

derobert