I am writing a licensing application that is specific to our product. It is not highly detailed and elaborate but it will work for our business.
The license ties the hardware (3 pieces I obtain in .net) with the workstation id that is passed as a option when the program is executed. So, workstation id XXX is authorized to run on computer YYYYY.
The only loophole that I’ve seen in it is that they can run the application several times over RDP when they are only licensed to run once. Typically they
How can I assign a license to prevent them from running the application from different sessions multiple time when they are licensed for less?
Since this is run on peer 2 peer networks, most of the time, I can’t rely on checking the task manager to see what is running at the time the program starts.
Anyone have any suggestions on what I can track on an RDP connection to tie a license to?
Thanks!
If I understand your goal correctly you want to prevent them running the app more often thatn licensed… and you write you already solved that except for the situation where the app is running on the same machine in different sessions…
IF so then you only need a mechanism to prevent starting the app a second time on the same machine (even in a different session)… you can use a global Mutex to achieve that… see http://msdn.microsoft.com/en-us/library/system.threading.mutex.aspx
Bascially you create a named Mutex with
Global\as the prefix of the name… if that Mutex already exists then the app is already running on this machine (in the same or a different session)… if you want only to prevent it running a second time in the same session you useLocal\as the prefix…