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-1.0.26077.msi
  1. Files are installed to the selected features’ directories.
  2. Windows services are registered (SyncEngine and/or AdminAPI).
  3. DbSetup.exe runs automatically after install (NOT Installed condition).

DbSetup Steps

StepAction
1Create database if it doesn’t exist
2Deploy schema (Deploy_All.sql — idempotent, safe to re-run)
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)
3cRegister EventLog sources (IdentityMesh.Service, IdentityMesh.Admin.Api)
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}

Do not change this unless forking or creating a separate product.

Files

FilePurpose
build-installer.cmdMain build script — publishes, creates .aip, builds MSI
build-relay-installer.cmdRelay agent installer build script
patch-aip.ps1XML patching for features, dialogs, and custom actions
patch-relay-aip.ps1XML patching for relay agent installer
IdentityMesh.DbSetup/Post-install tool — DB setup, service config, IIS, shortcuts
banner.bmpInstaller banner image (493x58, IdentityMesh branding)
dialog.bmpInstaller sidebar image (493x312, blue gradient with logo)
favicon.icoProduct icon