LicenseLock   

1 - Description -

    1.1 - This sample db is meant to secure Licensee particulars (Or date of expiry for free trial) in a tamper-proof manner. Often, such information is stored using registry settings and/or hidden tables. With sufficient skill and motivation, contents of registry or hidden/system  tables can be tampered with.

    1.2 - For utmost security, the sample db demonstrates storage of such information in hard coded form directly in the code module of an auxiliary Mde file called LockFile.mde. (As far as known, it is not possible to get into the code module of an Mde file). Creation of this lock file is automated for Access versions up to 2003.

    1.3 - To start with, the main application file (say MainFile.mde) is shipped to the client along with LockFile.mde (having hard coded information for expiry date of free trial). This lock file is very small in size and does not have any tables or queries. Whenever the main file is opened, it grabs necessary information from the lock file (placed in the same folder as the main file) and can function normally only  if expiry date for trial is not yet over.

    1.4 - As & when the client becomes eligible, new lock file containing his Licensee status can be sent to him. Now the main file will be able to work smoothly (without any limit to expiry date), displaying the name of licensee prominently.

2 - Step by step guidelines for creating a set of files for the client -
    2.1 - The package consists of three files, namely LockFileMaker.mdb, LockFileTemplate.mdb and MainFile.mdb

    2.2 - Open LockFileMaker.mdb and click the desired command button depending upon whether the client set is meant for (i) Regular license or  (ii) Free trial for a limited period.

    2.3 - On the form now displayed, enter the name of licensee (or expiry date of free trial - as the case may be) and click the command button. This will result in creation of a new set of files for the client, namely (i)  LockFile.mde  and  (ii) MainFile.mde    

Note: 
     For Access versions up to 2003, programmatic conversion from .mdb to .mde 
format is found feasible via SysCmd argument 603. It is an undocumented argument and 
is no longer found effective in Access 2007 onwards. For these later versions, manual 
conversion to .accde format can be done.

    2.4 - The set of files created as above, gets placed in a sub-folder named appropriately (depending upon the name of licensee or the expiry date of free trial - as the case may be). All such sub-folders get placed within the overall folder named  ClientFolders. Contents of these sub-folders can be sent to the concerned clients. If MainFile.mde has been sent to a particular client on an earlier occassion, it need not be sent again. Only the LockFile.mde need be sent in such a case.

Caution:  
    
The package contains separate versions for Access_XP and Access_2K. Since creation of Mde files is involved, it is important that Access_2K version is not attempted to be used on Access_XP installation (Access_XP can handle Mde conversion only if the mdb file is in already in XP format i.e. Access 2002). Of course, the finished product (LockFile.mde and MainFile.mde) generated by 2K version of this package, can be used on XP installation as well.