Link to home
Start Free TrialLog in
Avatar of eadam-uk
eadam-ukFlag for United States of America

asked on

How do I make a program usable only on one PC "m@"

Hi,

I want to make it so that once installed, my program can't be installed anywhere else. I thought about getting the serial number of the hard disk and checking against it everytime the program is run, but that wouldn't stop someone reinstalling the program on another system.

What is the best way of doing this, if it is possible?

Thanks
Avatar of Shane Russell
Shane Russell
Flag of United Kingdom of Great Britain and Northern Ireland image

This is just a thought but I remember there being a thread on EE a while back with regards to this, I will find them later on and post back with them but I think the best way would be to do something along the lines of this :

Making the application have a winsock control and contact your machine for authorisation of installation before it continues to install and not allowing the application to run until you have given it authorisation to run ?

If that is at all possible, that way you have control over what goes on.
Hi, I think the best way to do it would be to have your program send the user's hard disk serial along with their liscence number at the point of installation to a remote server.. (which you will run your custom server software on) you can then cross reference the HDD serial # with the user's liscence, and mark this liscence as unusable.. then allow the program to install..

If they try to install again with the same liscence number, but with a difference HDD serial, then it should not install..

If they re-install windows, or get a new hard drive etc, they will have to request a reset via email, so that they can re-assign a new serial #, this is not too bad for you, since it allows you to control and audit when users are installing the software..

Not to say that this protection couldnt easily be overcome, but what protection isnt!?
Avatar of eadam-uk

ASKER

Those are both good ideas, but unfortunately, the people who will be using this software most likely won't have an internet connection. Is there any other way?

Thanks
if you look on pscode.com they have some different examples, I am trying to find the specific one right now but here is one to get you started :

http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=30627&lngWId=1
hmm, in that situation there is no way of the software knowing if it has been installed elsewhere..

The only other solution would be to implement my idea via telephone support, so they ring you with their liscence # and HDD serial # and you give them a 3rd code to allow the program to install..
That is true, If they have no way of checking some central database or checking with something that is central ie calling a person to check on another computer if that serial has been used then there is no way of knowing if it was installed else where.
I was thinking that I could give the user a floppy with a textfile on it and the first time they use the program write the hard disk serial number to that file. The program could check if the serial exists and if so, is it the correct number. I could also write some code to check if the file has been tampered with to stop people just erasing the disk.

Im not sure how effective that would be, but i might give it a try and runs ome tests.

Thanks for all your help everyone
thats fine, apart from a few things:

1) How will your program tell the difference between a 1st installation, and the user deleting the file?
2) What if you want to distribute on another medium? A lot of new PCs dont even have floppy drives now!
3) What if the user copies the setup files to the local machine before running?
4) If user's catch on with what you are doing then they can just set write protection on the floppy to stop the program saving to disk successfully.

Just some things to take into consideration..
Also if you search on pscode.com there are apps to re create or re make the hard drives serial number or even when you totally format a hard drive it will give it a new serial number which will mean they wont be able to run it if they have had to re install xp, depending on if they formatted or if they left it tact with regards to the fileing system.
point taken.

Ill keep thinking

Thanks
ASKER CERTIFIED SOLUTION
Avatar of nffvrxqgrcfqvvc
nffvrxqgrcfqvvc

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Avatar of [ fanpages ]
[ fanpages ]

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of [ fanpages ]
[ fanpages ]

Do you need any further assistance,  eadam-uk?

If not, then please close the question.

If you do need additional information, please let us know.

Thank you for your feedback in any respect.

BFN,

fp.
[ http://www.justgiving.com/100RoundsOfSparring ]
I would respectfully suggest the following contributors share the acknowledgement for their suggestions:

egl1044
onemorecoke
fanpages

Also recognition to the following for their comments:

craigwardman
gecko_au2003


BFN,

fp.