- 13 minutes to read

Prerequisites for Installing Nodinite

Before you install Nodinite v7, make sure the Windows Server, IIS, SQL Server, service accounts, and network are ready. This page is the master checklist; the Installation Guide and the Install Nodinite v7 steps assume everything here is in place.

On this page, you will learn

  • ✅ Prerequisites for Nodinite v7 installation and upgrade
  • ✅ v7 migration-specific checks when moving from v6
  • ✅ The firewall rules for every hop
  • ✅ How to verify each prerequisite and troubleshoot failures

Understanding the Installation Order

Nodinite v7 on Windows Server runs every Core Service as its own IIS web site on .NET 10 and ASP.NET Core. The CLI (Nodinite.Installer.Cli.exe) creates the IIS sites, application pools, and bindings, but it relies on IIS, the .NET 10 Hosting Bundle, SQL Server tooling, and service account rights already being present. The order matters: the Hosting Bundle registers the ASP.NET Core Module V2 only in an IIS that already exists.

flowchart LR A["fa:fa-server IIS Windows Features"] --> B["fa:fa-code .NET Framework 4.8
for some agents"] B --> C["fa:fa-code .NET 10
Hosting Bundle"] C --> D["fa:fa-rotate iisreset and
verify the module"] D --> E["fa:fa-database SQL Server, DacFX,
OLE DB Driver, MSDTC"] E --> F["fa:fa-user-shield Service accounts
and Windows rights"] F --> G["fa:fa-terminal Run the CLI in
elevated PowerShell 7"] style A fill:#2678BD style C fill:#E47528 style D fill:#FFD525 style G fill:#93d16d

Diagram: the order to prepare a Windows Server. Blue is the start (IIS Windows Features), orange the step that fails silently when done too early, yellow the check that catches it (Verify ASP.NET Core Module), and green the CLI run once MSDTC, DacFX, and the service account rights are in place.

New 7.x Nodinite v7 Requirements

Nodinite v7 uses a CLI-based installation with .NET 10. You register the Environment in the Nodinite Portal and run the generated package with the CLI from an elevated PowerShell 7 prompt.

Key Requirements

  • A Windows Server version that the .NET 10 Hosting Bundle supports: 2016, 2019, 2022, or 2025 (Server Core included); 2012 and 2012 R2 only with Extended Security Updates (ESU). See Microsoft's .NET 10 supported OS list
  • PowerShell 7 installed; the CLI is an executable, so the execution policy doesn't apply. Run it from an elevated prompt, as a local administrator
  • IIS with the required Windows Features, installed before the Hosting Bundle
  • The latest .NET 10.0 Hosting Bundle (not only the runtime)
  • .NET Framework 4.8 on servers that host the BizTalk, Windows Server, Dynamics 365 (CRM), or IBM DataPower agents; the other agents run on .NET 10
  • SQL Server 2016 or later, with the latest DacFX (SqlPackage.exe) and a supported Microsoft OLE DB Driver for SQL Server
  • MSDTC configured on the Core Services server and the SQL Server
  • Dedicated service accounts with the Logon as a Service right, and DCOM Local Activation for the Monitoring Service account
    • Review the SPN page if you use Windows Authentication with custom domain accounts
  • A TLS certificate for HTTPS (recommended), identified by its subject in the Portal Core host Configuration The Detailed Prerequisite Verification section below has scripts to check each item.

v7 Migration-Specific Checks

If you upgrade from v6 to v7, also verify these checks before starting the migration:

  • Latest Microsoft OLE DB Driver for SQL Server installed on all SQL Server nodes; it is mandatory during the migration flow
  • The PowerShell 7 user running the CLI must have sysadmin rights on the SQL Server instance during the migration
  • IIS Windows Features including Web-Scripting-Tools and Web-AppInit installed before the .NET 10 Hosting Bundle
  • Remove WebDAV from IIS when no other site depends on it, especially in dedicated Nodinite environments
  • Remove legacy IIS URL Rewrite rules left over from the v6 installation before using the v7 endpoints
  • Stop the Pickup Log Events Service before starting the migration or installation procedure
  • Follow Updating from v6 to v7, or Migrating v6 to v7 on New Hardware when you replace servers

For policy discussions with DBAs and security teams, use SQL Server Sysadmin Requirements as the canonical rights model.

Important

Nodinite v6 and its Install and Update Tool are no longer supported. The v6 requirements are kept only in the frozen v6 archive.

Requirements Checklist

Use these tables as verification checklists during planning and installation.

SQL Server Requirements

Requirement Specification Priority Notes
SQL Server version 2016 or later Vital 2019+ recommended for performance and support lifecycle. See SQL Server Options.
Collation Latin1_General_CI_AS Vital Case-insensitive required. Cannot be changed after installation without rebuild.
Authentication Windows or SQL Auth Vital Windows Authentication recommended for security. SQL Auth supported.
Installation permissions sysadmin role Vital For the user running the CLI, during installation and migration. Can be reduced post-install; see SQL Server Sysadmin Requirements.
DacFX binaries Latest SqlPackage.exe Vital Used for database deployments and upgrades.
Microsoft OLE DB Driver for SQL Server Latest supported version Vital Mandatory for v7 migration and required on SQL nodes used by the platform.
Log Database creation Logging Service rights Vital The installer creates the Configuration Database; the Logging Service creates the first Log Database when it first starts. Check its SQL rights.
Connection encryption TLS 1.2+ Important Configure encrypted connections for production. See Connection Strings.
SSMS Optional admin tool Good to Know Useful for validation and troubleshooting. Not required for the runtime itself.

SQL Server hosts all Nodinite data—verify these requirements before proceeding.

IIS (Internet Information Services)

Requirement Specification Priority Notes
IIS Role Installed and configured Vital Web Server role with the required IIS Windows Features.
Windows Authentication Enabled Vital Required when the Environment uses Windows Authentication; see IIS Authentication settings.
ASP.NET Core Module V2 From the .NET 10 Hosting Bundle Vital Missing module causes HTTP 500.19 errors.
Application Pools No Managed Code Vital Created by the CLI; each runs as the service identity set in the Portal Servers step.
IIS web sites One per Core Service and Monitoring Agent Important The CLI creates each site with the port set in the Portal; no Default Web Site dependency.

IIS hosts the Nodinite Web Client and APIs—all features must be properly configured.

Network and Security

Requirement Specification Priority Notes
Firewall rules One port per Core Service and agent, set in the Portal Vital No fixed defaults; see the Network and Firewall Overview.
DNS records Custom domain (optional) Good to Know Recommended for production. Example: nodinite.contoso.com
SSL/TLS Certificate Valid certificate for HTTPS Important Strongly recommended for production. Identify it by subject; the CLI binds it at every install and update. Self-signed OK for DEV/TEST.
Certificate trust Trusted by clients Important Import the CA certificate to trusted root if using an internal CA.
Network latency < 10ms to SQL Server Important Nodinite is database-intensive. High latency degrades performance.

Secure communication is critical for protecting integration data. Hardening

Service Accounts and Permissions

Requirement Specification Priority Notes
Service accounts Dedicated domain/local accounts or gMSA Vital Never use personal accounts.
Log on as a service Right assigned Vital SeServiceLogonRight for every service identity; see Logon as a Service.
DCOM Local Activation Monitoring Service account Vital Required for the Monitoring Service to function.
SQL Server access Database permissions Vital sysadmin during install; see Minimum SQL Rights Without Sysadmin for the rights model.
File system access Read/Write to install folder Important The install path set per server in Step 4: Servers, and temp folders.
Agent permissions Platform-specific Important The BizTalk and Windows Server agent identities must be local administrators; other identities don't need it. BizTalk also needs BizTalk Admin, SQL agents VIEW SERVER STATE.

Network and Firewall Overview

Plan the firewall before you run the installer: the CLI creates the IIS bindings for the ports you choose, but it never opens firewall rules. On Windows Server, every Nodinite Core Service (Web Client, Web API, Log API, Logging Service, Monitoring Service, and MCP Server) is its own IIS web site with its own port, and so is every Monitoring Agent. You set the Core Services ports per environment in the Portal, Step 4: Servers → Core platform services, the agent ports in the Agents step, and confirm them all in Allocated ports. Ports in examples, such as 40000–40004, are examples only.

graph LR subgraph "Callers" roBrowser["fa:fa-user Users' browsers"] roReport["fa:fa-chart-line-up Reporting tools and scripts"] roSender["fa:fa-bolt Log Event senders"] roClient["fa:fa-laptop-code External MCP clients"] end subgraph "Nodinite Core Services Server" roWebClient["fa:fa-globe Web Client"] roWebAPI["fa:fa-cloud-sun Web API"] roLogAPI["fa:fa-cloud-arrow-down Log API"] roLS["fa:fa-hard-drive Logging Service"] roMS["fa:fa-watch-fitness Monitoring Service"] roMCP["fa:fa-plug MCP Server"] end subgraph "Nodinite Agent Server" roAgent["fa:fa-monitor-waveform Monitoring Agents"] end subgraph "SQL Server" roConfig["fa:fa-database Configuration Database"] roLogDB["fa:fa-database Log Databases"] end subgraph "Infrastructure" roDC["fa:fa-server Domain Controller - DNS, Kerberos, LDAP"] roSMTP["fa:fa-envelope Mail server"] roEntra["fab:fa-microsoft Microsoft Entra ID - OAuth only"] roOnline["fa:fa-cloud Nodinite online services"] end roBrowser -->|"Web Client port"| roWebClient roReport -->|"Web API port"| roWebAPI roSender -->|"Log API port"| roLogAPI roClient -->|"MCP Server port"| roMCP roMS -->|"Agent port"| roAgent roWebAPI -->|"TCP 1433, MSDTC"| roConfig roLS -->|"TCP 1433, MSDTC"| roLogDB roConfig -->|"Linked Server"| roLogDB roMS -->|"587 or 25"| roSMTP roWebAPI -->|"53, 88, 389"| roDC roWebAPI -.->|"443"| roEntra roWebAPI -->|"443"| roOnline

Diagram: the hosts of a typical Nodinite installation. Callers reach the Core Services on their Portal ports, the Monitoring Service calls the Monitoring Agents, and the Core Services use the Configuration Database, the Log Databases, the domain controller, the mail server for Alarm Plugins, the Nodinite online services, and, in OAuth mode, Microsoft Entra ID. Calls between Core Services stay on one server and are left out.

Each hop is documented once, on the Prerequisites page of the component that owns it; this table is the map.

Direction Source Destination Protocol Port(s) Purpose Notes
Inbound Users' browsers Core Services Server TCP (HTTPS) Web Client port Web Client Web Client firewall
Inbound Reporting tools and scripts Core Services Server TCP (HTTPS) Web API port REST calls Web API firewall
Inbound Log Event senders Core Services Server TCP (HTTPS) Log API port Post Log Events Log API firewall
Inbound External MCP clients Core Services Server TCP (HTTPS) MCP Server port AI tools over MCP MCP Endpoint firewall
Outbound Core Services Server Agent Server TCP (HTTP or HTTPS) Agent port Monitor checks and Remote Actions Not needed when the agent runs on the Core Services Server; off-site agents use Service Bus Relay. Monitoring Service firewall
Outbound Core Services Server SQL Server TCP, UDP 1433, 1434, 135 + dynamic RPC range Configuration and Log Databases, MSDTC Not needed when SQL Server runs on the same server. The one home for these ports: SQL Server Firewall
Outbound SQL Server (Configuration Database) SQL Server (Log Databases) TCP 1433, 135 + dynamic RPC range Linked Servers Only across instances; Configuration Database firewall
Outbound All servers Domain Controller TCP/UDP 53, 88, 389 DNS, Kerberos, LDAP Domain Controller ports
Outbound Core Services Server Mail server TCP 587 or 25 Alarm e-mail Monitoring Service firewall
Outbound Core Services Server, callers Microsoft Entra ID TCP (HTTPS) 443 Sign-in and token validation OAuth 2.0 / OIDC mode only
Outbound Core Services Server, Agent Servers Nodinite online services: portal, api, login, download, and support.nodinite.com TCP (HTTPS) 443 Portal packages, version data, sign-in, MSI agent downloads, support Through the proxy when one is set

Note

Calls between the Core Services (for example, the Web API calling the Logging Service) stay on the Core Services Server and need firewall rules only if a host firewall restricts local traffic. Earlier Nodinite versions used fixed ports such as 8000 instead of Portal ports; see Why do Nodinite use port 8000 when you clean up old rules. Every server needs DNS (TCP/UDP 53) to resolve the others by name.

Hardware Recommendations

DEV/TEST needs at least 2 CPU cores, 8 GB RAM, and 50 GB free disk. For production, plan 4+ cores, 16 GB RAM (32+ GB with SQL Server co-hosted), and SSD storage; the full sizing tables are in Planning Your Nodinite Solution.

Detailed Prerequisite Verification

Run these checks on the Core Services server before installation.

IIS Features and .NET Framework Verification

Install the IIS features first, then .NET Framework 4.8 (already present on Windows Server 2022 and later), then the .NET 10 Hosting Bundle, as the diagram at the top of this page shows. IIS Windows Features has the complete feature list, the PowerShell installation scripts, and troubleshooting.

Important

Common Installation Failure: Installing the .NET 10 Hosting Bundle BEFORE the IIS features does NOT install the ASP.NET Core Module V2. The Nodinite v7 Web Client and Web API then fail with "500.19" errors. Always install the IIS features first, then the Hosting Bundle.

Check .NET Framework 4.8

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'|Select-Object Version, Release

Expected result: Release 528040 or higher. If it is lower, install .NET Framework 4.8 on the servers that host the .NET Framework 4.8 agents, and reboot if prompted.

.NET 10 Hosting Bundle Verification

Use the PowerShell script Verify ASP.NET Core Module to check that the .NET 10 Hosting Bundle is installed and the ASP.NET Core Module V2 is present. If it is missing, confirm the IIS features, run the Hosting Bundle installer again (Repair) on the Core Services server, run iisreset, and re-run the script.

SQL Server Verification

Check SQL Server version and collation

-- Check SQL Server version
SELECT @@VERSION AS 'SQL Server Version';

-- Check database collation
SELECT SERVERPROPERTY('Collation') AS 'Server Collation';

-- Verify your login has sysadmin role
SELECT IS_SRVROLEMEMBER('sysadmin') AS 'Is SysAdmin';

Expected result: version 2016 or later (2019+ recommended), collation Latin1_General_CI_AS, and Is SysAdmin 1 during installation.

DacFX (SqlPackage.exe) Verification

DacFX is required for database deployments and upgrades.

Check if SqlPackage.exe is installed

# List SqlPackage.exe in the common DacFX installation paths (150, 160, 170, ...)
Get-ChildItem "C:\Program Files\Microsoft SQL Server\*\DAC\bin\SqlPackage.exe" -ErrorAction SilentlyContinue |
    ForEach-Object { $_.FullName; & $_.FullName /version }

Expected result: at least one path with a version; no output means DacFX is missing.

If not installed

MSDTC Verification

Microsoft Distributed Transaction Coordinator (MSDTC) must be configured for Nodinite distributed transactions.

Check MSDTC configuration

# Check MSDTC service status
Get-Service -Name MSDTC|Select-Object Name, Status, StartType

# Check MSDTC security settings
$msdtcPath = "HKLM:\SOFTWARE\Microsoft\MSDTC\Security"
Get-ItemProperty -Path $msdtcPath|Format-List

Expected result: Status Running, StartType Automatic, and NetworkDtcAccess and NetworkDtcAccessTransactions both 1. The MSDTC Configuration Guide has the complete configuration steps.

PowerShell 7 Verification

PowerShell 7 is required to run the CLI (Nodinite.Installer.Cli.exe) from an elevated prompt.

Check PowerShell version

# Check PowerShell version
$PSVersionTable.PSVersion

Expected result: major version 7 or higher (not Windows PowerShell 5.1). The execution policy doesn't matter: the CLI is a signed executable, not a .ps1 script.

Troubleshooting Installation Issues

Use these troubleshooting steps when installation fails or components don't work as expected.

Database Connection Failures

If installation fails to connect to SQL Server:

  • Verify SQL Server service is running - Check Services.msc or use Get-Service -Name MSSQLSERVER
  • Confirm you have sysadmin role - Run the SQL Server Verification script above
  • Test connection manually - Use Test-NetConnection -ComputerName SQL01 -Port 1433
  • Check firewall rules - See SQL Server Firewall
  • Verify connection string - Review encryption and certificate trust settings

SQL Server Connection Strings - Complete connection string reference

IIS Application Pool Failures

If IIS application pools fail to start:

  • Ensure the service account has the "Log on as a service" right - See Logon as a Service
  • Verify the service account password is correct - Test credentials with the runas command
  • Check the account is not locked or expired - Verify in Active Directory Users and Computers
  • Review IIS logs - Check C:\inetpub\logs\LogFiles for detailed errors
  • Verify ASP.NET Core Module V2 - Run Verify ASP.NET Core Module

IIS Windows Features - Complete IIS configuration guide

Service Installation Failures

If Nodinite services fail to install:

  • Confirm the user running the CLI has permissions - Run PowerShell 7 elevated
  • Check Windows Event Logs - Review Application and System logs for detailed error messages
  • Check the CLI troubleshooting notes - See Step 7: Run the CLI Workflow

Using Verbose Mode for Troubleshooting

Run from the extracted package root:

.\Nodinite.Installer.Cli.exe deploy-environment --config .\<server>\config.cli.json --verbose --log-file "C:\Temp\Installation-Log.txt"

Share the log with our Support (Support page). The full command reference is in Step 7: Run the CLI Workflow.

Previous Step

Next Steps