all groups > dotnet remoting > august 2003 >
You're in the

dotnet remoting

group:

Remoting Help


Remoting Help Nick Bunton
8/29/2003 3:28:51 AM
dotnet remoting: 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
Re: Remoting Help Kumar Gaurav Khanna [.NET MVP]
8/31/2003 7:23:52 PM
Hi!

You could do this, but even simpler way will be to use Sockets to get the
work done.

Your "listener" application shall wait for incoming "heartbeats" which the
client application shall send over (say) a TCP connection to the listener.
The Listener can maintain this information in its internal tables and do the
needful to determine the duplication.

--

Regards,
Gaurav Khanna
----------------------------------------------------------------------------
----------------
Microsoft MVP - .NET, MCSE Windows 2000/NT4, MCP+I
WinToolZone - Spelunking Microsoft Technologies
http://www.wintoolzone.com/
[quoted text, click to view]

Remoting Help Mike Sheely
9/1/2003 7:00:13 AM

[quoted text, click to view]

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,
AddThis Social Bookmark Button