The Microsoft Access Runtime
The Microsoft Access Runtime is a free, stripped-down version of Microsoft Access. You can redistribute this application to as many end users as you want. You cannot install the Access Runtime and the full version of Access on the same machine.
Any Access application that you open with the runtime version of Access executes in what's known as "runtime mode."
Runtime mode is an Access operating mode in which certain Access features are not available by default.
In runtime mode, you cannot use the following features:
- Special keys
- Navigation pane
- The Ribbon
- Design and Layout views
If you want users to be able to use your Access application in the Runtime environment, then you need to provide some way to open the various forms and reports. This is normally done via a custom ribbon or a series of navigation forms.
Using Runtime Mode with Full Versions of Access
There are a couple of ways to force the full version of Access into "runtime mode."
One approach is to pass the
/runtime switch to the msaccess.exe executable. You also need to include the name of the .accdb/.accde/.accdr/.mdb/.mde you want to open. For example:
As part of my standard Inno Setup Access installer template, I create application shortcut icons that launch the front-end file with the /runtime switch embedded in the shortcut's Target property.
The .accdr filename extension trick
Another way to force runtime mode is to change the file extension from .accdb or .accde to .accdr.
End Users Should Always Be in Runtime Mode
Runtime mode provides many safety benefits:
- No navigation pane (so users can't open tables and queries directly)
- No access to the VBA editor
- No ribbon tools (except those you explicitly enable)
Note: I put these "safety benefits" in the category of "application-level security" (think: guard rails, not castle walls). They won't deter malicious users. After all, it's easy to launch the front-end without the /runtime switch by modifying the application shortcut.
Greater consistency among end users
By forcing all users to run your front-end application in runtime mode, you don't need to worry about the differences in user experience between users with a full version of Access versus those with the runtime version.