Runtime Mode in Microsoft Access

There are two ways to force a full version of Access to run a front-end file in runtime mode: the /runtime switch and changing the extension to .accdr.

Runtime Mode in Microsoft Access

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.  

Runtime Mode

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
  • Help

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."

The /runtime switch

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:

C:\> "C:\Path to\MSACCESS.EXE" "C:\Path to\MyFrontEnd.accdb" /runtime
Note: the /runtime switch can come before or after the path to the front-end database.

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.

Referenced articles

Securing Your Data
Relying on application-level security to protect your data would be like using guard rails to keep out your enemies.

External references

Microsoft Access Runtime Distribution Programs and Free Downloads
Microsoft offers runtime versions of Microsoft Access so you can create database applications in MS Access and distribute them to non-Access owners.
Deploy an Access application
Learn how to deploy an Access database so that other people can use the application.
Switching from Full Version Ms Access to Runtime
Dear Experts (Ms Access)! I have a full ms access 2016 now I want to switch to run time mode using the same machine , I’m reliably told it is possible to do that , but I’m finding it not working . I

Additional reading

MS Access, How to determine the command line parameters that the current instance of application has started with?
I need VBA solution to get the command line parameters which has been fed to MS Access at the start up of the current instance of the application. e.g. if it has been started as Runtime and etc

Image by David Mark from Pixabay

All original code samples by Mike Wolfe are licensed under CC BY 4.0