Expert guide
Deploy an Access Application with the Free Access Runtime
Give every user the application, not the design tools, and without buying Access for each seat
Call us at +1 (385) 386-3860
Short answer: install the free Microsoft Access Runtime (matching the PC's Office bitness) on user machines, distribute a compiled .accde front end with a startup form and custom navigation, add error handling everywhere because unhandled errors close the Runtime, mark the application folder as a Trusted Location, and test with the /runtime switch before release. An Access consultant can package and harden an existing database for Runtime deployment.
Many Access applications are used by people who should never be in Design View: warehouse staff, receptionists, field coordinators. The Access Runtime is made for them. It runs your application, costs nothing, and removes the temptation to "just fix that form". Deploying to the Runtime does change a few things, and applications that ignore them crash in ways that are hard to diagnose remotely.
Full Access vs Runtime
| Capability | Full Access | Access Runtime |
|---|---|---|
| Open forms and reports, enter data | Yes | Yes |
| Run VBA and macros | Yes | Yes (in trusted locations) |
| Design View, new objects | Yes | No |
| Navigation pane and full ribbon | Yes | No; your own menus only |
| Unhandled VBA error | Debug dialog | Application closes |
| Cost | Licence per user | Free |
Step 1: Prepare the Application
Startup form
File → Options → Current Database → Display Form: a main menu or dashboard. Runtime users have no navigation pane.
Navigation
Every form and report must be reachable from buttons, a navigation form or a custom ribbon.
Custom ribbon or none
Provide a simple ribbon (USysRibbons table) with Print, Export to PDF and Close, or hide it.
Error handling everywhere
Every event procedure and public function gets an error handler that logs and shows a friendly message.
Split database
Front end with forms and code, back end with data on the server.
Standard handler pattern:
Private Sub cmdPost_Click()
On Error GoTo Fail
' ... work ...
Exit Sub
Fail:
LogError "frmInvoices.cmdPost_Click", Err.Number, Err.Description
MsgBox "Sorry, that did not work. The error has been logged." & vbCrLf & _
Err.Description, vbExclamation
End SubLogError writes to a table in the back end with the user, time, procedure and message. When a Runtime user calls with "it closed on me", the log tells you where.
Step 2: Build an .accde
Compile (Debug → Compile) with no errors.
File → Save As → Make ACCDE. VBA source is removed and the file cannot be edited in Design View.
Build the .accde in the same bitness as the users' Office (32 or 64-bit).
Keep the .accdb master safe; you cannot get design back from an .accde.
Step 3: Test in Runtime Mode
Shortcut target for testing on a developer PC: "C:\Program Files\Microsoft Office\root\Office16\MSACCESS.EXE" /runtime "C:\Apps\Ops\Ops_FE.accde"
Click through every menu, run every report, and deliberately trigger errors (bad input, missing back end). Anything that closes the application needs an error handler.
Step 4: Install on User PCs
Download the Microsoft 365 Access Runtime from Microsoft and install the version matching the PC's Office bitness. If Office is not installed, choose the bitness you compiled for.
Create the local application folder (for example %LOCALAPPDATA%\Ops) and copy the front end.
Add the folder as a Trusted Location via registry (see our trusted locations guide).
Create a desktop shortcut to the local front end.
Run the application once and confirm links to the back end work.
Trusted Location registry keys are explained in Access trusted locations and the security warning; automatic front-end updates and relinking in splitting an Access database and relinking tables with VBA.
Things That Behave Differently in the Runtime
| Feature | What to do |
|---|---|
| Filter by form, sort and find from the ribbon | Provide buttons or right-click menus on forms |
| Export to Excel / PDF from the ribbon | Add buttons that call DoCmd.OutputTo |
| Opening objects not linked from menus | Impossible; plan navigation for everything |
| Macros in untrusted locations | Blocked; use Trusted Locations |
| Design-time features in code (CreateForm etc.) | Not available; avoid |
Remote Users
For users outside the office, install the Runtime on a remote desktop server and give each user their own front end in their profile, rather than running Access over VPN to the back end. That keeps the database fast and avoids the corruption risks in Access over LAN, Wi-Fi and VPN. Hardening code for Runtime use is part of our Access VBA development work.
FAQ
Access Runtime deployment FAQ
Bitness, testing, errors and security