Access 2007-2016
Access 2000-2003
Access Seminars
TechHelp Support
Tips & Tricks
Access Forum
Course Index
Topic Glossary
Insider Circle
Home   News   Tips   Glossary   Templates   Forums   Help   Logon   Order   Contact Us  

Registration Seminar

 Protect your database with forced user registration. Part 1


In this Microsoft Access tutorial you will learn how to protect your Access database so you can give or sell it to others, and they will be required to register their copy of the database with you. This prevents theft and piracy, and protects your intellectual property. Topics include:

- Discussion of database security concepts and our registration scheme
- How to create a startup form that autoruns when the database opens
- How to read and write values to the Windows Registry for a specific user
- Generating random numbers and developing a security key algorithm
- Timing out registrations after a specific time period. Great for subscriptions

Click here to watch the first full lesson of the Seminar in our Online Theater:


Access Registration Seminar, Part 1
Description: Learn how to protect your Access database with forced user registration.
Versions: I use Access 2013, however most of the material covered should work fine with most versions of Access.
Pre-Requisites: This course requires the techniques covered in the Access Security Seminar. Otherwise, any user can easily bypass your registration requirements.
Running Time: 50 Minutes
Cost: $69 - Order multiple courses to receive a discount up to 50% off


Here's What You'll Learn

The purpose of this seminar is to teach you how to protect your database with forced user registration. If you want to distribute your database (sell or give it away) but you don't want others sharing it, you can use the technique in this seminar to force each user to have to call you to get a registration code unique to their computer.

You will learn how to create a startup form that runs when Access loads your database. You will need to use the concepts taught in the pre-requisite course - the Access Security Seminar - in order to prevent users from bypassing your startup form and getting to your VBA code. Once this form runs, it will check to see if the database is registered on this PC or not. If not, the user will be prompted to enter a registration code that they can only get by calling you.

We will store the user information in the Windows Registry to make it unique for each PC the database is installed on. You will learn how to read and write values to/from the Registry for each specific user. You will also learn how to generate random numbers to use for security keys, and we will develop a specific, custom algorithm for your security scheme. Your database will prompt the user with a key number, they will have to call you, and you will give them the counter key.

security key


You will also learn how to time out the user's registration after a specific period of time, so if you want to lease or rent your database as a monthly or annual subscription, this will force the user to have to call back in to re-register whenever their time is up. 

If you want to be able to protect your database from theft or piracy, this is the perfect seminar for you. You will learn everything mentioned above. You will have access to the full database that we build in class with all of these features. If you have any question whether this seminar is right for you, please feel free to contact me.


Access Registration Seminar

00. Intro (3:42)

01. Lesson 1 (10:46)
Registration Discussion
Security Topics
Startup Form
Form Open Event
The Windows Registry

02. Lesson 2 (10:26)
GetSetting from Registry
SaveSetting to Registry
MsgBox Command
InputBox Command
Quit Command

03. Lesson 3 (11:45)
Random Number Generator
Checking Counter Key

04. Lesson 4 (8:42)
Timing Out Registration
Annual Subscriptions
DateAdd Function

05. Review (5:26)



Student Interaction: Access Registration Seminar

Richard on 8/16/2015:  In the Access Registration Seminar you will learn how to protect your Access database so you can give or sell it to others, and they will be required to register their copy of the database with you. This prevents theft and piracy, and protects your intellectual property. Topics include: - Discussion of database security concepts and our registration scheme - How to create a startup form that autoruns when the database opens - How to read and write values to the Windows Registry for a specific user - Generating random numbers and developing a security key algorithm - Timing out registrations after a specific time period. Great for subscriptions This seminar is 50 minutes long. Click here for more information on the Access Registration Seminar including a complete course outline, sample videos, and lots more.
Brent Rinehart on 8/16/2015: I love the new seminar been waiting for some good seminars to come, I want more. I just finished watching Part 1 and wanted to know how hard would it be to generate a code that ties the persons computer ID into the key and maybe there name, so say they call up and say I had to reinstall the program because I had to rebuild my computer, would that computer ID be uniqe to their computer only and it would prove they were trying to reinstall the program back on the same machine? Would this be hard to do?

Reply from Alex Hedley:

Open cmd and type HOSTNAME.

Dim sHostName As String
' Get Host Name / Get Computer Name
sHostName = Environ$("computername")

Dim sUserName As String
' Get Current User Name
sUserName = Environ$("username")

You could use the techniques in the Security Seminar to get the currently logged in user.

Samuel Mbonga on 8/17/2015: Thank a lot for this lesseon .
Uriel Ramirez on 8/17/2015: This seminar should include how to do version control.

Reply from Alex Hedley:

Do you mean creating and distributing an updated version?

Or do you mean using something like Git about using msaccess-vcs-integration
I've not had a chance to test this yet.

Patrick Russell on 8/19/2015: Hi Richard, I enjoyed the seminar, but had a question. I too have upgraded to Window 10, but when navigating into the registry I cannot find the VB and VBA Program Settings folder in HKEY_CURRENT_USER/SOFTWARE (i.e. Lesson 2 10:46)?

Reply from Alex Hedley:

I'll need to check on a Win10 box but have you tried the FIND option?

Brent Rinehart on 8/20/2015: I wasn't thinking towards hostname but more towards computer hardware id's say like getting the hardware ID of the motherboard and integrating into the regetration some how.

Reply from Alex Hedley:

There is probably a WMI you could use to get it or maybe another Environ

Uriel R on 8/21/2015: Well, both. if you could include how to create and distribute an updated version would be perfect, but you also need to know how to keep track of the version that is distributed and check for the license for each version. Versioning also contribute to technical support since several of my clients have different versions and there is no way for them to check which version they have, so when they call me for support is pretty much me telling them how each version looks and if it fits the description we go from there.

Reply from Alex Hedley:

You could add a Table that stores this information and just have it as a popup form.

I think the distribution seminar is on the Waiting List.

Shams on 8/21/2015: Hi Richard, I also enjoyed the seminar.I have window 10, there is no VB and VBA Program Folder in HKEY_Current_User/Software can you update what other option do I have.
Uriel R on 8/22/2015: I thought about that make it as a "splash" screen when the database open but I would prefer if I can put it an "About..." in the control box like other applications.

Reply from Alex Hedley:

You don't need a splash screen, just a button on the Form with a image or ? that opens another Form.

Uriel R on 9/1/2015: The splash screen will be a the initial form I suppose
Richard R on 9/1/2015: I recorded this seminar on a PC running Windows 10. I also tested it on a Windows 8 machine. Worked fine on both. Granted the Windows 10 box was previously upgraded from Windows 8 to 10, so that key may have already been there. I don't have a virgin Windows 10 box in my office right now. Does anyone have one that can confirm whether or not this key exists in Windows 10?

Either way, I will record an addendum lesson with how to set/read ANY registry key you want. I just figured the Get/SaveSettings functions would be the easiest for everyone to use.

MUBEEZI MICAH on 9/2/2015: hi Rick!
when i open the command prompt and enter regedit, i get this feedback

Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

'regedit' is not recognized as an internal or external command,
operable program or batch file.


Is there a step i could have missed?

Thank you!


Reply from Alex Hedley:

Ctrl+R to open Run
Type 'regedit' into Run and click enter.
Can't remember if regedit is in path to open from cmd.

MUBEEZI M on 9/4/2015: Perfect. Thank you Alex
Robert R on 9/5/2015: Interested in the online version as well.
Kevin Roberton on 9/5/2015: To open The Registry Editor from the Command prompt, simply type in the full path. In windows 10 the path is:


Alex Hedley on 9/9/2015: I've created an Addendum Tip that shows you how to create any Reg Key you want.

I've also created a mini .NET App for generating the Key needed for the User.
Let me know if you'd like to see how I built it or any additions/changes you'd like made to it.

William Dowler on 9/16/2015: Richard,
I'd be interested in Part 2..... Bill D.

Joseph R on 9/28/2015: How about password expiration? The end user changing their own password?
Chris Thompson on 11/26/2015: Seminar was simple and straight forward. Would be interested in a Part 2

Reply from Alex Hedley:

Anything in particular you'd want to see Chris?
Was the addendum I made useful too?

susan gargiulo on 12/6/2015: Yes, part 2 please
susan g on 12/27/2015: Receiving a run time error 13 - type mistmatch - I"m lost

Reply from Alex Hedley:

Can you copy and paste the code you are using?

Fernando on 1/24/2016: How i lock a access 2007 database

Reply from Alex Hedley:

The Security Seminar will also show you how.

jan nyberg on 2/18/2016: This seminar was really interesting and easy to follow.
Im really interested in a part 2. :)

Reply from Alex Hedley:

Anything you'd like to see covered?

James Gray on 2/21/2016: Although I haven't tested this on my ambualance database yet (not ready for prime time yet ), I was wondering if potential customers' anti-virus software would prohibit writing to their registries? Seems to me that this could be a potential problem...

Reply from Alex Hedley:

There could be restrictions imposed by some programs, you could ask for an exception to be put on

Ibrahim Muhammad Gusau on 3/13/2016: I am Very - very interested with your Tutorials, I very eager to learn Database, so please I need your assistant on this section.

Thank you.

Ibrahim Muhammad Gusau

Reply from Alex Hedley:

What is your exact problem?

Chris Thompson on 1/20/2017: This is a quick note for those reading this forum and is a follow-up to Patrick Russell's 8/19/15 post. The "VB and VBE Program Settings" folder in the registry - if it doesn't exist - will be created in the path Rick has shown in the Seminar when you first use the SaveSetting function. The Path is automatically created by the OS followed by your settings located in that path. This behaviour was observed on Windows 10.

Reply from Alex Hedley:

Thanks Chris

Chris Thompson on 1/20/2017: Alex, I would like to see something that is more secure than using the registry in such a well known location with unencrypted data - and yes I know you could encrypt the data before you put it out to the registry. Items such as the those mentioned by Rick in his Summary remarks of this Seminar would be good. Of course, putting your own solution together using the various aspects of all these Seminars together is always possible.

Reply from Alex Hedley:

It all depends for what reason do you need it to be secure?
People will always find a way, so most of the time it is preventative or a delay tactic.
A call to a web service license checker is probably the next best step but then you need it always online.


You may want to read these articles from the 599CD News:


Visual Basicindex
Account Login
Online Theater
Lost Password
Free Upgrades
Insider Circle
Student Databases
Change Email
Latest News
New Releases
User Forums
Topic Glossary
Tips & Tricks
Search Our Site
Waiting List
Production Schedule
Collapse Menus
Live Chat
Customer Support
WalkThru Tutorials
Consulting Services
About Us
Affiliate Program
Richard Rost
Free Lessons
Mailing List
Video Tutorials
MYOLP Memberships
Idiot's Guide to Excel
Volume Discounts
Payment Info
Terms of Sale
Gift CDs
Live Chat
General Info
Support Policy
Contact Form
Email Us
Mailing Address
Phone Number
Fax Number
Course Survey
Facebook    Twitter

Google Plus    LinkedIn

Blog RSS Feed    YouTube Channel
Richard Rost Microsoft MVP