[quoted text, click to view] >-----Original Message-----
>I have an application I want to install and the user will
>attempt to install it on several machines, but only pay
>for one or two licenses. Each install will have it's own
>serial number and this is stored in the registry. Can I
>use Remoting to install a small utility with the
>application which will generate a heartbeat, and then if
>the application is started on another machine with the
>same serial number this is detected?
>
>If it is possible, any examples would be great as the
>basic ones I have seen you need to know the machine name
>and I won't know this.
>
>TIA
>
>Nick
>
>.
>Nick,
I agree with Gian that a firewall could play a big role in
the success of your suggested plan. Also, the amount of
network traffic you might cause with a pulsing network
query could slow down everything (eat up bandwidth) at a
client site. Perhaps another approach to blocking
bootlegers would be a better solution.
Look into "Certificates" and see if you might issue a
certificate during the install. Certificates will allow
you to place an expiration date and other information into
that certificate. If a certificate is altered by a user,
it becomes a bad/invalid certificate. Certificates can be
revoked.
Another approach might be to use an Authentication Service
(like MS PassPort) to have the user log in and
authenticate himself before your code will execute. If a
user has paid for a program, is it good ethics for the
author of that solution to limit him to installing on only
one machine. What if I want to run your program from my
work machine and from my personal machine at home? I
believe that your requirement statement should be
that "the user can be executing only one copy of the
software at any instant in time." Where that copy is
installed should not matter.
Perhaps you just need to refine your requirement statement
to allow you to see alternative approaches to this problem.
Hope this helps,