Access Basics

Deploying Access Databases: Runtime, ACCDE, and Distribution

Learn how to package and distribute your Access application to users who do not have Access installed, using the free Access Runtime and ACCDE files.

M
MS Access Blog
5 min read
Deploying Access Databases: Runtime, ACCDE, and Distribution

You have built a polished Access application — forms, reports, navigation, the works. Now you need to deploy it to users. Some of them have Access installed; some do not. Here is how to package and distribute your application professionally.

The Access Runtime

Microsoft provides a free Access Runtime that allows users to run Access applications without a full Access license. The Runtime includes everything needed to open and use an Access database — forms, reports, queries — but removes the developer tools:

  • No Design View for tables, queries, forms, or reports
  • No VBA editor
  • No Navigation Pane (by default)
  • No ability to create new database objects

This is actually a feature for deployment: users cannot accidentally modify your application's design.

Download: Search "Microsoft Access Runtime" on Microsoft's website. Download the version matching your database (Access 2016, 2019, 2021, or Microsoft 365).

The Runtime is free to download and distribute. You can include it in your application installer.

ACCDE Files: Compiled, Protected Applications

An ACCDE file is a compiled version of your Access database with all VBA source code removed. Users can run the application but cannot view or modify the VBA code, forms, or reports.

To create an ACCDE:

  1. Open your database in full Access (not Runtime)
  2. Go to File → Save As → Make ACCDE
  3. Choose a location and filename
  4. Click Save

What ACCDE does:

  • Compiles all VBA code (faster execution)
  • Removes all VBA source code (code is not visible or editable)
  • Prevents users from opening forms, reports, or modules in Design View
  • Reduces file size slightly

What ACCDE does NOT do:

  • Encrypt the data (tables are still accessible)
  • Prevent users from viewing table data
  • Replace a database password for data security

Important: Keep your original .accdb file as the master. You cannot convert an ACCDE back to an ACCDB — the source code is permanently removed.

Deployment Strategies

Strategy 1: Shared Network Drive (Split Database)

The most common deployment for small teams:

  1. Split the database (backend tables on a network share, frontend on each user's machine)
  2. Distribute the frontend as an ACCDE file
  3. Users open the frontend from their local machine; it connects to the shared backend

Update process: When you update the frontend, replace the ACCDE file on each user's machine. Consider a version check on startup that alerts users when an update is available.

Strategy 2: Packaged Installer

For wider distribution, create an installer package:

  1. Create the ACCDE file
  2. Download the Access Runtime installer
  3. Use a packaging tool (like the Package Solution Wizard in Access, or a third-party installer like Inno Setup) to bundle the ACCDE and Runtime into a single installer
  4. Distribute the installer

The Package Solution Wizard is available in Access under Database Tools → Move Data → Package Solution (availability varies by Access version).

Strategy 3: Citrix / Remote Desktop

For organizations with Citrix or Remote Desktop Services:

  1. Install Access (or the Runtime) on the server
  2. Publish the Access application through Citrix/RDS
  3. Users run the application remotely — no local installation required

This approach centralizes management and ensures all users run the same version.

Version Management

Keeping track of which version of the frontend each user has is a common challenge. A simple approach:

  1. Add a tblVersion table to the backend with a CurrentVersion field
  2. On startup, compare the frontend version (stored in a constant in VBA) to the backend version
  3. If they do not match, alert the user to update
Const APP_VERSION As String = "2.1.0"

Private Sub Form_Open(Cancel As Integer)
    Dim currentVersion As String
    currentVersion = DLookup("[CurrentVersion]", "tblVersion")
    
    If currentVersion <> APP_VERSION Then
        MsgBox "A new version (" & currentVersion & ") is available. " & _
               "Please update your copy of the application.", vbExclamation
    End If
End Sub

Handling Runtime Differences

Some Access features behave differently in the Runtime:

No built-in error dialogs — in the Runtime, unhandled errors show a generic message and close the database. Comprehensive error handling in all VBA procedures is essential.

No Shift key bypass — users cannot hold Shift to bypass startup options in the Runtime.

No compact on close prompt — the Runtime does not prompt to compact on close. Add a compact routine to your application's exit procedure.

Ribbon customization — the Runtime shows a simplified ribbon. If your application uses custom ribbon XML, test it thoroughly in the Runtime.

Testing in the Runtime

Before distributing, always test your application in the Runtime environment:

  1. Install the Access Runtime on a test machine (or a VM)
  2. Copy your ACCDE file to the test machine
  3. Open it with the Runtime and test all functionality
  4. Pay particular attention to error handling — errors that are tolerable in development become show-stoppers in production

Conclusion

Deploying an Access application professionally means creating an ACCDE, distributing the free Runtime to users without Access, and implementing a version management strategy. These steps transform your database from a developer's tool into a polished application that users can run reliably without needing to understand Access internals. The investment in proper deployment pays off in reduced support calls and a more professional user experience.

Explore Topics

#deployment#access runtime#accde#distribution#application design
M

Written by

MS Access Blog

Content creator and writer sharing insights and stories.