Folks, we want to implement a simple form of licence counting in our
desktop product. A sign-in user account can only run the product on a
limited number of different computers. This is the same way things like
Adobe, Sibelius, Office, etc limit usage. You can run the products
unlimited times on a single computer, but there is a limit on total
distinct computers.

Our basic logic is actually working with little coding effort. Each sign-in
provides the (user,computerhash) pair and counts are held on the
server-side.

It goes haywire with RDP. One user can have a dozen RDP sessions open from
anywhere in the world and they all appear to be the same computer and
generate the same hash so the counters don't change. I can call Win32
GetSystemMetrics(0x1000) to know if I'm in an RDP session, but I can't
identify the client computer to correctly adjust the counters.

I'm just wondering if anyone has been down this rabbit hole before and has
general advice, especially regarding the RDP flaw. I know I'm reinventing
all sorts of wheels and there are licensing counting/locking services you
can subscribe to, but we thought we'd have a go first, before considering
buying something.

*Greg K*

Reply via email to