---
title: Installation Layout and Persistent Data
description: "The MSI installer uses the following default installation location: `C:\\Program Files\\activerecord.com\\ODDC Server` The ODDC Server reads its configuration from its own installation directory, even when it is running as a Windows service: `ar.oddc.server.config.json` Persistent application data is stored under: `C:\\ProgramData\\activerecord.com\\ODDC\\5.1\\`…"
url: "https://activerecord.com/docs/administration/installation-layout-and-persistent-data/"
updated: "2026-09-09"
category: "Administration - Oculens DDC Server (ODDC Server) 5.1"
---

# Installation Layout and Persistent Data

The MSI installer uses the following default installation location:

`C:\Program Files\activerecord.com\ODDC Server`

The ODDC Server reads its configuration from its own installation directory, even when it is running as a Windows service:

`ar.oddc.server.config.json`

Persistent application data is stored under:

`C:\ProgramData\activerecord.com\ODDC\5.1\`

The application creates these subfolders as needed:

| Folder | Purpose |
| --- | --- |
| ObjectStore | Protected working files, page images, and completed export objects |
| State | Application state data |
| Logs | Application-owned log folder, where used |
| Temp | Temporary processing files |
| DataProtection-Keys | ASP.NET Core data-protection key |

The initial project creates its file-system folders below:

`C:\ProgramData\ODDC\DocumentWorkspace\`

with source, destination, exception, and processed subfolders. Database values are stored as administrative-share UNC paths such as \\\\localhost\\C$\\....

### File-system permissions

Grant the service account modify permission on the configured object store and on every project folder it uses. For network shares, grant access at both the share and NTFS levels.

**Do not grant end users direct access to the object store.** Files in that folder use long GUID-based names, but unpredictable names are not a replacement for access control.

The service account also needs read/write access to DataProtection-Keys. These keys are protected with machine-level DPAPI, so they can be used by different service accounts on the same machine but normally cannot be decrypted after being copied to another machine.
