Skip to content

Cesivi Setup Wizard

Introduced: v1.0 — Archive Mode branch added in v1.2 (PLAN-1620)

Cesivi.Setup (CesiviSetup.exe) is a WPF installer wizard for deploying a new Cesivi instance on Windows. It generates appsettings.json, optionally configures IIS, and sets up the database.


Standard flow (9 pages)

Step Page Purpose
1 Welcome Overview + version info
2 Install Path Choose install directory and data directory
3 Components Select Server / WebUI / CLI; enable Archive Mode
4 IIS Configure IIS site name, host, HTTP/HTTPS ports
5 Database Choose storage provider (FileSystem, Sqlite, SqlServer, etc.)
6 Authentication AcceptAll (dev) vs Active Directory (production)
7 Summary Review all settings before install
8 Install Runs the install pipeline with live progress log
9 Complete Success — link to open server in browser

Archive Mode branch (3 additional pages)

On the Components page, tick Enable Archive Mode to insert three additional configuration pages between Components and IIS:

WORM Backend (page 4 of 12)

Choose the storage backend for the immutable WORM audit log:

Option Notes
File System Recommended. Requires an NTFS volume (Windows) or ext4+chattr (Linux).
Amazon S3 (Object Lock) v1.3 planned — configure manually in appsettings.json after install.
Azure Blob (Immutability) v1.3 planned — configure manually after install.

For File System: enter the WORM base path. The installer validates the path is writable.

Retention Defaults (page 5 of 12)

Field Default Notes
Default retention (days) 2555 (7 years — HIPAA safe harbour) 0 = no expiry
Retention anchor Item Created date ItemCreated, ItemModified, or ImportTime

⚠ Once an archive contains records, the default retention anchor cannot be changed without re-importing.

Federation (page 6 of 12)

Controls how Cesivi resolves user identities for archived items:

Mode Behaviour
None (snapshot only) Identities frozen at import time. No live lookup.
Active Directory (LDAP) Live LDAP lookup falls back to snapshot.
Microsoft Entra ID Live Entra/Azure AD lookup falls back to snapshot.
Snapshot only Explicit: identities always served from snapshot, even if AD is available.

For AD and Entra modes, enter the federation endpoint URL, client ID, and the path to a client-secret file (read at server startup; never embedded in appsettings.json).

Set the Legal hold compliance officer role — users with this Cesivi role can apply and release legal holds.


Generated appsettings.json

When Archive Mode is enabled the wizard emits an archive: section in the server's appsettings.json:

"Archive": {
    "Enabled": true,
    "Worm": {
        "Backend": "FileSystem",
        "BasePath": "C:\\Cesivi\\Worm"
    },
    "Retention": {
        "DefaultDays": 2555,
        "Anchor": "ItemCreated"
    },
    "Federation": {
        "Mode": "None"
    },
    "LegalHold": {
        "OfficerRoleName": "ComplianceOfficer"
    }
}

For AD/Entra modes the Federation object also includes Endpoint, ClientId, and optionally ClientSecretFile.


Post-install

The Complete page shows a link to the main server URL. When Archive Mode was enabled, an additional link to the Archive Admin section (/_admin/archive) is shown.

For ongoing operations — archive mode per site, import jobs, audit log, integrity, retention, and legal holds — see ARCHIVE_CONTROLCENTER.md.


See also