Results 1 to 5 of 5
  1. #1
    Join Date
    Apr 2009

    Unanswered: How do you protect a database that you have developed from being shared or copied

    Hello all

    I am developing some access based applications and need to ensure that only the person that paid for the product can use the application and no one else i.e. if they have not paid they can not use the product or if they make copies they cant install it on other machines or give to others to use.

    My first thought was to have an activation code on the product that if not entered after x days would ensure that the application would not start up. But the problem with this is that the activation code can be used on the "copies" too.

    My next thought was for the application to produce a report that would give the serial number of the product (unique), and a unique id based on the valid users computer. Based on this the application would create an activation code but this would be unknown to the user. In order to activate the product they would send this information to me (the report) and I would give the user the activation code which has already been created by the app and stored within the database. There would also be another master code that I would use in just in case situations.

    Any pitfalls with this solution? ANy beeter solutions? I dont have a website so web based solutions are out for the time being.

    I should also add that some of the products are being developed by Access 2000 (yes old!) and the newer databases will be developed using the latest access 2010.

    Thanks for any advice or tips in adv.


  2. #2
    Join Date
    Nov 2004
    out on a limb
    Provided Answers: 59
    split the db into a front end which contains all the user interface (the forms, queires reports and so on) and the data in the back end

    deploy as an MDE (or at least deploy the front end as an MDEso people cannot look at, modify or whatever your front end

    talk to someone expert in the field of licencinsg as to what you can or can't do in terms of activation code. I seem to remember there beeing a nasty court case a while back which a developer who put in timed activations codes lost.

    one way to is build in obsolecence into the app. say you put a date validation which can't be more than a specific point in time, say one year.. with a warning after nine months the licence is about to expire. allow users to keep entering data after the expiry of the date, but don't report it anywhere, and don't let the data after the expiry point to be displayed or used in aggregations.

    examining the lock file for the data component/back end should allow you to determine who (computer and user) has got the app open. it should be possible to work out how many copies are open and take appropriate actions.

    stopping people making copies is far far trickier.

    you can write an install script which requests an activation code from you. if you want you can probably get the logical disk id using one of the system functions possibly via vbscript

    ultimately Access isn't an especially secure development environment. its realtively easy to circumvent the casual script kiddie. its much harder deterring a direct attack from a determined and knowledgeable attacker
    I'd rather be riding on the Tiger 800 or the Norton

  3. #3
    Join Date
    Dec 2004
    Madison, WI
    You could always get a lawyer involved who would just hold onto the 'source' (mdb/accdb) code (which shouldn't cost much to do). You could then just supply the mde as healdem suggested and put limited options in it until it's fully paid for.

    Izyrider posted this example on serials a while back which may or may not be helpful:
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  4. #4
    Join Date
    May 2010
    Also check out:

    Boyd Trimmell aka HiTechCoach (free access stuff)
    Microsoft MVP - Access Expert
    BPM/Accounting Systems/Inventory Control/CRM
    Programming: Nine different ways to do it right, a thousand ways to do it wrong.
    Binary--it's as easy as 1-10-11

  5. #5
    Join Date
    Dec 2002
    Préverenges, Switzerland
    here's a long rambling discussion of a hypothetical licencing scheme using only Access.

    you should certainly not use the scheme as described in the discussion (it is public knowledge!), but maybe some of the ideas will help.

    currently using SS 2008R2

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts