Runbooks/Installer

IdentityMesh Installer

The IdentityMesh MSI packages all server-side components into a single installer with selectable features. A separate MSI ships each Relay Agent.

Prerequisites

The installer detects missing .NET runtimes and blocks installation with a descriptive error message including the download URL.

The MSI and all bundled binaries are Authenticode-signed.

MSI Features

The installer presents a feature selection dialog during Custom install.

FeatureDefaultInstall PathDescription
SyncEngineInstalledAPPDIR\engine\Sync engine Windows service (IdentityMeshEngine)
AdminAPIOptionalAPPDIR\api\Admin REST API Windows service (IdentityMeshAdmin)
AdminUIOptionalAPPDIR\ui\Angular static files for IIS hosting
DatabaseAlwaysAPPDIR\sql\SQL scripts + DbSetup.exe (hidden from UI)

Default install directory: C:\Program Files\IdentityMesh\

All features are children of MainFeature — they appear as a single product entry in Add/Remove Programs.

Install Wizard

The installer wizard collects configuration through the following flow:

  1. Welcome — Product intro.
  2. Folder — Install directory selection.
  3. Customize — Feature selection (SyncEngine, AdminAPI, AdminUI).
  4. SQL Configuration — SQL Server instance, database name, and Admin Portal IIS port (shown only when AdminUI is selected).
  5. Service Accounts — Separate accounts for Sync Engine and Admin API. Supports domain accounts, gMSA (suffix $, no password), or blank for Local System.
  6. Role Group Mapping — AD security groups for Admin, Operator, and Viewer roles. Pre-populated with DOMAIN\IdentityMesh-Admins, DOMAIN\IdentityMesh-Operators, DOMAIN\IdentityMesh-Viewers using the detected domain. Optional — leave blank to skip.
  7. Verify Ready — Summary before install.

Install Behavior

msiexec /i IdentityMesh-<version>.msi
  1. Files are installed to the selected features’ directories.
  2. Windows services are registered (SyncEngine and/or AdminAPI).
  3. DbSetup.exe runs automatically at the end of every install and upgrade.

DbSetup Steps

Every step below runs automatically. There is nothing for you to run by hand; the only supported manual path is described in upgrades.md.

StepAction
1Create database if it doesn’t exist
2Deploy schema (Deploy_All.sql — creates every table, column, procedure and seed the release needs and skips what already exists, so it is safe on every install and upgrade)
2bGrant Sync Engine service account SQL access (db_owner)
2cGrant Admin API service account SQL access (if different)
3Patch appsettings.json with connection string and role group mappings
3bGrant “Log on as a service” right (via secedit)
3cCreate the IdentityMesh event log and its six sources, remove the legacy sources (see event-log.md)
3dConfigure service logon accounts (via sc.exe config)
3eWrite ui\assets\config.json with API URL
3fCreate IIS site for Admin Portal (via appcmd.exe, if IIS installed)
4Start services
5Create desktop shortcuts (Admin API, Admin Portal)

Logs: %TEMP%\IdentityMesh.DbSetup.log (also copied to APPDIR\sql\dbsetup.log).

Windows Services

Service NameDisplay NameExecutableFeature
IdentityMeshEngineIdentityMesh Engineengine\IdentityMesh.Service.exeSyncEngine
IdentityMeshAdminIdentityMesh Admin APIapi\IdentityMesh.Admin.Api.exeAdminAPI

Services are configured with the account and password entered during install. If no account is specified, services run as LocalSystem. gMSA accounts (ending with $) are supported — password is left empty.

IIS Site

When AdminUI is selected, DbSetup creates an IIS site:

If IIS is not installed, DbSetup logs a warning and skips. The UI files can be hosted manually on any web server.

Role Group Mapping

The installer writes AD group mappings to api\appsettings.json:

{
  "IdentityMesh": {
    "SqlConnectionString": "...",
    "Roles": {
      "Admin": "DOMAIN\\IdentityMesh-Admins",
      "Operator": "DOMAIN\\IdentityMesh-Operators",
      "Viewer": "DOMAIN\\IdentityMesh-Viewers"
    }
  }
}

See authentication.md for how roles and permissions resolve at request time.

MSI Properties

Properties available for silent install (msiexec /i ... PROPERTY=value):

PropertyDefaultDescription
SQL_SERVER.\SQLEXPRESSSQL Server instance
DB_NAMEIdentityMeshDatabase name
SVC_ACCOUNT(empty)Sync Engine service account
SVC_PASSWORD(empty)Sync Engine service password
API_SVC_ACCOUNT(empty)Admin API service account
API_SVC_PASSWORD(empty)Admin API service password
ROLE_ADMIN_GROUPDOMAIN\IdentityMesh-AdminsAD admin group
ROLE_OPERATOR_GROUPDOMAIN\IdentityMesh-OperatorsAD operator group
ROLE_VIEWER_GROUPDOMAIN\IdentityMesh-ViewersAD viewer group
UI_PORT4200IIS port for Admin Portal

UpgradeCode

The MSI UpgradeCode is stable across versions to support in-place upgrades:

{8A4E2C6D-F1B3-4A5E-9D7C-2E8F0B6A4C1D}

You do not need to supply it; it is listed here for software-inventory and deployment tooling that detects products by UpgradeCode.

Files

The IdentityMesh MSI and the Relay Agent MSI are built and Authenticode-signed by the vendor. There are no build scripts or tools for you to run; install the MSI as described above.