Max Wanadoo
max.wanadoo at gmail.com
Sat May 2 10:35:07 CDT 2009
Here is my 1st thoughts on how I would implement it. Could be greatly improved, I am sure. Const conHDSN ="XYZ" (replace with own values) 1. Create an MDB to handle client details etc. 2. Create a Licence MDE (LMDE) which would be part of the installation/operating process on the client's server. 3. Place the BE and FE along with the LMDE (licence MDE) on a FMS (Flash Memory Stick). Not a CD because we need to be able to write back to it. 4. Encrypt the contents of the FMS with TC (TrueCrypt ) - www.truecrypt.com. This would be done in Traveller mode. This means that the user does not need TC on their system. 5. Place a batch file on the FMS to handle installation tasks. 6. The password would be emailed separately to the client. The FMS would be posted by snail mail/courier etc. Installation 1. Insert FMS into USB port on Server where BE will live. 2. Run the batch file which will: a. Run TC. Prompt for the TC password emailed earlier. b. TC will create a virtual drive (Z:\) and decrypt the files into it and exit TC. c. The batch file will then run the installation routine to place the LMDE, the BE and a copy of the FE onto the Server, say drive Y:\. d. It will then run TC to dismount the virtual drive Z:\ e. It will then call the BE. Running BE For The First Time 3. The BE on opening (whether from install or later re-boots) will run code to see if the following User Defined Properties (UDP) have been set up. If not, it will assume an initial install and create them. If the Developer has included them in the BE then it will skip this bit. a. Encrypted Name of licensed client (appears in all forms, reports etc) b. Encrypted Number of concurrent users allowed c. Encrypted Number of concurrent users currently logged in. d. Encrypted SN of HD of Back End. (BEHDSN) e. Encrypted Date License Starts (installation must be within x days of this). f. Encrypted Date License Expires. g. Encrypted Delimited String of FE HD Srl Nos. 4. If the BEHDSN = conHDSN then it will assume an Initial install: a. Prompt for the same password that TC uses b. Run code to open TC on the FMS/USB to check it is there and valid. c. Open the LMDE on the virtual drive and check the BEHDSN = conHDSN, if not then bomb out because it has been used for a previous install. d. If virtual BEHDSN = conHDSN but installation outside of x days of License Start Date then bomb out. e. Else, store the server BEHDSN to the LMDE on the virtual drive and dismount it. This is to prevent it being used later for "suspect installs" f. Send email back to Developer using Blat, CDO etc giving values from BE UDP, BEHDSN etc. g. OR once installation complete, delete all files from FMS. That will definitely prevent future installations. Normal Usage If BE on opening has the UDPs then h. If BEHDSN = conHDSN then replace it with Server HDSN i. IF BEHDSN <> server HDSN then bomb out else, j. Then continue with normal Boot-Install i. Open the server LMDE and get values for UDP ii. Check if license still in-date. If not in-date bomb out. 5. The FE can be copied by user to each local PC as required. 6. When user opens FE it will: a. Run code to update the BE UDP for Concurrent Users and refuse if limit reached. b. Place the FEHDSN onto the BE UDP if required to monitor how many FE installations there are (as opposed to how many logged on users). Questions 7. What happens if user passes FMS to another organisation along with password? a. The BEHDSN will not be = conHDSN so it will bomb out and refuse to install. b. Of if you choose to delete all installation files then there will be nothing there to install. 8. What does the user do if they have a replacement Server HD? a. Developer sends (emails) out a new LMDE with the BEHDSN set to conHDSN and other values as needed, eg License dates. When the user places this on the Server and runs the BE again, it will pick up from para 4 above. 9. What if the BE and FE and LMDE are copied to another Server in another location? a. The BEHDSN will not be equal to the new Server HDSN and will bomb out. Max -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: 02 May 2009 13:30 To: Access Developers discussion and problem solving Subject: Re: [AccessD] Copy Protection Needed I do think this is the ticket for instances where you do not care how many copies run at a given site. Make the user contact you for a key. Make them include the "serial number" of the installed BE and the name of the company and create a table that holds the name / address of the company and keys dispensed. Then if people call in asking for more / new keys, the Serial Number of the BE should match the name / address they provide. If the serial number is in your database but the name / address is somewhere completely different... Is anyone interested in forming a working group to define and perhaps even design / build such a system that Database Advisors could license to group members? John W. Colby www.ColbyConsulting.com