Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Prevent users from sharing a database

Status
Not open for further replies.

mlstewart

Instructor
Aug 20, 2004
58
US
I've created a database that I want to burn on a CD and sell. I know I can't prevent someone from burning a copy of the CD but I am looking for a way to prevent one customer from purchasing the database and handing out burned copies of the database to others. Simply setting a database password won't work because they can share the password with each other. Does anyone have any suggestions?
 
So is Bill Gates

Hope this helps
Hymn
 
lol! Good answer hymn.

To be honest if any of us could find an effective way of preventing people copying CDs we'd be making millions off the patent.

You could perhaps look at tying the database to only run on one particular machine. Perhaps run a check against machine name? IP address if they have a permanent internet connection?

Ed Metcalfe.

Please do not feed the trolls.....
 
I know there isn't a way to prevent someone from burning the CD but I am looking for something like what Ed2020 posted. The problem is that I don't even know where to begin to do something like what he suggested.

If I save the database on a CD and mail it to someone, how do I run a check against machine name?

Thanks,
ml
 
You need to get their machine name first. Then run a check in the system startup, using the environment variable Environ$("CNAME").

It ain't exactly secure - users can easily change their computer name to mirror the registered one. You need to perform a number of checks. How about locking it the the machine's GUID? There must be an API call to retrieve that.

Ed Metcalfe

Please do not feed the trolls.....
 
Thanks for your help Ed.

I will not have access to the computer that the database will be used on. Do you know of any VBA code that will get the machine name? If not, do you know of another way for Access to get that information.

I know this won't solve my problem all together but it is a start on what I want to accomplish. Here is what I want to do. When someone opens a database for the first time, it opens up the Main Form but there will also be a small pop-up that is prompting them for an activation code. I want it to be something like a one time code (or password) that they will enter and if the code they enter is correct then the pop-up goes away and will not ever show up again and then they can us the database. If the code isn't correct then the pop-up will not go away and it will prevent them from using the Main Form and this pop-up will continue to be there each time they open the database until they enter the correct code.

What I would like to do is assign the database an ID like 01001. If I can get access to get the machine name and combine it with the ID that I assign to database then I can state on the pop-up something like "Your database ID is 01001ComputerName. You must log onto to get your activation code." and they will go to the website and enter their database ID and it will give them the activation code.

Does this sound possible?

Thanks!
 
mmhh,

I still believe that the vast majority of the people on this globe are honest people. If you keep the price reasonable, they would tend to purchase your app. If it is a killer app, you shouldn't be worried, youll make a lot of money anyway. Look at Symantec, did you ever see any copy prevention on the antivirus?

If you want to build in some checks you can always have the program send a email ever once in a while to yourself to find out who is using it or where it is used.

 
Thanks for the reply easyit.

That is actually the way I was thinking in the beginning until I heard some of the comments a couple of the potential customers made. That is what started me on a quest to better protect my database. I really appreciate everyone's replies and suggestions.

Thanks,
ML
 
I use a hardware key (aka dongle) that I check for at regular intervals. The company whose keys I use is Rainbow (although they got purchased and I think they're now SafeNet). These work well for license enforcement. Although there is quite a bit of work initially, once you get it established, it doesn't take much to keep using it. With the setup we've established, we can use one key (parallel or USB) to manage licenses for up to 5 different databases.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top