- 10 minutes to read

IIS Windows Features Required for Nodinite

Nodinite Core Services are Web Applications hosted in Internet Information Services (IIS) on Windows Server. This page details all required IIS Windows Features for successful Nodinite installation across different versions.

On this page, you will:

  • ✅ Identify required IIS features for Nodinite 7 (.NET 10.0 - Hosting Bundle)
  • ✅ Identify required IIS features for Nodinite 6 (.NET Framework 4.8)
  • ✅ Install features quickly using PowerShell scripts
  • ✅ Verify installation and troubleshoot common issues

Nodinite Version Overview

Nodinite uses different runtime frameworks depending on the version:

Version Runtime Framework IIS Requirements
Nodinite 7 .NET 10 + ASP.NET Core + .NET Framework 4.8 Modern stack with ASP.NET Core Module V2
Nodinite 6 .NET Framework 4.8 Legacy stack with classic ASP.NET 4.x

Nodinite 7 (.NET 10 + ASP.NET Core)

Nodinite 7 uses .NET 10for modern Core Services (Web Client, Web API) and .NET Framework 4.8 for legacy compatibility (Log API WCF endpoints).

Required IIS Windows Features for Nodinite 7

Feature Category Feature Name PowerShell Feature Name Required Comment
Web Server Role Web Server (IIS) Web-Server Base IIS installation
Common HTTP Features Default Document Web-Default-Doc Serves default pages (index.html, default.aspx)
Directory Browsing Web-Dir-Browsing Optional - not recommended for security
HTTP Errors Web-Http-Errors Custom error pages
HTTP Redirection Web-Http-Redirect URL redirection for maintenance/upgrade scenarios
Static Content Web-Static-Content Serves static files (CSS, JavaScript, images)
Health and Diagnostics HTTP Logging Web-Http-Logging Access logs for troubleshooting
Logging Tools Web-Log-Libraries Optional - advanced logging scenarios
Request Monitor Web-Request-Monitor Real-time request monitoring
Tracing Web-Http-Tracing Optional - detailed request tracing
Performance Features Dynamic Content Compression Web-Dyn-Compression Compresses dynamic responses (JSON, HTML)
Static Content Compression Web-Stat-Compression Compresses static files (CSS, JS)
Security Features Basic Authentication Web-Basic-Auth Optional - enable if using Basic Auth
Request Filtering Web-Filtering Protects against malicious requests
Windows Authentication Web-Windows-Auth Required - Nodinite uses Windows integrated security
Application Development .NET Extensibility 4.x Web-Net-Ext45 Allows IIS to load and run managed code modules for .NET Framework apps
ASP.NET 4.x Web-Asp-Net45 Enables IIS to run web applications built on .NET Framework (not .NET Core/.NET)
ISAPI Extensions Web-ISAPI-Ext Allows IIS to run applications and scripts (like ASP.NET .aspx pages) via DLLs
ISAPI Filters Web-ISAPI-Filter Enable IIS to filter and modify HTTP requests/responses at low level for authentication, logging, or URL rewriting
ASP.NET Core Module V2 Requires Hosting Bundle Critical - Required for .NET 10 (Core) Web Client and Web API
Application Initialization Application Initialization Web-AppInit Required - Ensures IIS warms up app pools on server start or recycle, preventing cold-start failures. Available on Windows Server 2012 R2 and later
Management Tools IIS Management Console Web-Mgmt-Console GUI for IIS management
IIS Management Scripts and Tools Web-Scripting-Tools Required for PowerShell automation and scripted installs

Install All Required Features (PowerShell Script for Nodinite 7)

Run this PowerShell command as Administrator to install all required IIS features for Nodinite 7:

# Install IIS Windows Features for Nodinite 7
Install-WindowsFeature -Name Web-Server, `
    Web-Default-Doc, `
    Web-Http-Errors, `
    Web-Http-Redirect, `
    Web-Static-Content, `
    Web-Http-Logging, `
    Web-Request-Monitor, `
    Web-Dyn-Compression, `
    Web-Stat-Compression, `
    Web-Filtering, `
    Web-Windows-Auth, `
    Web-Net-Ext45, `
    Web-Asp-Net45, `
    Web-ISAPI-Ext, `
    Web-ISAPI-Filter, `
    Web-AppInit, `
    Web-Mgmt-Console, `
    Web-Scripting-Tools `
    -IncludeManagementTools

After installing IIS features, you must also install — in this order:

  1. .NET Framework 4.8 - Required for Log API WCF services
  2. .NET 10.0 - Hosting Bundle - Includes ASP.NET Core Runtime, .NET Runtime, and ASP.NET Core Module V2

Note

The ASP.NET Core Module V2 is installed automatically when you install the .NET Hosting Bundle. You do not need to install it separately. The verification check below will report ASP.NET Core Module V2 is NOT installed until the Hosting Bundle has been installed — this is expected at this stage.


Nodinite 6 (.NET Framework 4.8)

Nodinite 6 and earlier versions use .NET Framework 4.8 exclusively with classic ASP.NET Web Forms and WCF services.

Important

The Default Web Site must exist within IIS. The Nodinite installer will fail if this is missing. There is no supported workaround. Nodinite Core Services may be installed in other Web Sites (not recommended).

Required IIS Windows Features for Nodinite 6

Feature Category Feature Name PowerShell Feature Name Required Comment
Web Server Role Web Server (IIS) Web-Server Base IIS installation
Common HTTP Features Default Document Web-Default-Doc Serves default pages
HTTP Errors Web-Http-Errors Custom error pages
HTTP Redirection Web-Http-Redirect URL redirection
Static Content Web-Static-Content Serves static files
Health and Diagnostics HTTP Logging Web-Http-Logging Access logs
Request Monitor Web-Request-Monitor Real-time monitoring
Performance Features Dynamic Content Compression Web-Dyn-Compression Compresses dynamic responses
Static Content Compression Web-Stat-Compression Compresses static files
Security Features Request Filtering Web-Filtering Security filtering
Windows Authentication Web-Windows-Auth Required - Nodinite uses Windows integrated security
Application Development .NET Extensibility 4.x Web-Net-Ext45 Managed code module support
ASP.NET 4.x Web-Asp-Net45 ASP.NET Web Forms and Web Services
ISAPI Extensions Web-ISAPI-Ext Application DLL execution
ISAPI Filters Web-ISAPI-Filter HTTP request/response filtering
WCF Services (Deprecated) HTTP Activation NET-WCF-HTTP-Activation45 ⚠️ Deprecated in Nodinite 6+ - Was used in Nodinite versions 1-5
Non-HTTP Activation NET-WCF-TCP-Activation45 ⚠️ Deprecated in Nodinite 6+ - Legacy WCF feature
Management Tools IIS Management Console Web-Mgmt-Console GUI for IIS management
IIS Management Scripts and Tools Web-Scripting-Tools PowerShell automation

Install All Required Features (PowerShell Script for Nodinite 6)

Run this PowerShell command as Administrator to install all required IIS features for Nodinite 6:

# Install IIS Windows Features for Nodinite 6
Install-WindowsFeature -Name Web-Server, `
    Web-Default-Doc, `
    Web-Http-Errors, `
    Web-Http-Redirect, `
    Web-Static-Content, `
    Web-Http-Logging, `
    Web-Request-Monitor, `
    Web-Dyn-Compression, `
    Web-Stat-Compression, `
    Web-Filtering, `
    Web-Windows-Auth, `
    Web-Net-Ext45, `
    Web-Asp-Net45, `
    Web-ISAPI-Ext, `
    Web-ISAPI-Filter, `
    Web-Mgmt-Console, `
    Web-Scripting-Tools `
    -IncludeManagementTools

After installing IIS features, install:


Verification Steps

After installing IIS Windows Features, verify the installation:

1. Check Installed Features (PowerShell)

# List all installed IIS features
Get-WindowsFeature|Where-Object {$_.Name -like "Web-*" -and $_.InstallState -eq "Installed"}|Format-Table Name, DisplayName

2. Verify IIS is Running

# Check IIS service status
Get-Service W3SVC

Expected output: Status should be "Running"

3. Test Default Web Site

  1. Open browser and navigate to http://localhost
  2. You should see the IIS default welcome page
  3. If the page doesn't load, check Windows Firewall and IIS configuration

4. Verify ASP.NET Core Module (Nodinite 7 Only)

Warning

Run this check only after you have installed the .NET 10 Hosting Bundle. If you run it before installing the Hosting Bundle, you will see ASP.NET Core Module V2 is NOT installed — this is expected and does not indicate a problem with your IIS features installation.

# Check 1: Registry — most reliable, confirms Hosting Bundle was installed
$paths = @(
    "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",
    "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
)
$hostingBundle = foreach ($path in $paths) {
    Get-ChildItem $path -ErrorAction SilentlyContinue |
        Get-ItemProperty |
        Where-Object { $_.DisplayName -like "*ASP.NET Core*Hosting Bundle*" }
}
if ($hostingBundle) {
    Write-Host "✅ Hosting Bundle is installed:" -ForegroundColor Green
    $hostingBundle | Select-Object DisplayName, DisplayVersion | Format-Table -AutoSize
} else {
    Write-Host "❌ Hosting Bundle is NOT installed" -ForegroundColor Red
}

# Check 2: DLL on disk — confirms the module file is present
$modulePath = "$env:ProgramFiles\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll"
if (Test-Path $modulePath) {
    Write-Host "✅ ASP.NET Core Module V2 DLL found: $modulePath" -ForegroundColor Green
} else {
    Write-Host "❌ ASP.NET Core Module V2 DLL not found at: $modulePath" -ForegroundColor Red
}

# Check 3: IIS registration in applicationHost.config
# NOTE: This only reflects registration at the time the Hosting Bundle was installed.
# If IIS features were enabled AFTER the Hosting Bundle was installed, this check
# will return NOT registered even though the Hosting Bundle is present on disk.
# Fix: run the Hosting Bundle installer again (Repair) to re-register the IIS module.
$configPath = "$env:windir\system32\inetsrv\config\applicationHost.config"
if (Test-Path $configPath) {
    if (Select-String -Path $configPath -Pattern "AspNetCoreModuleV2" -Quiet) {
        Write-Host "✅ ASP.NET Core Module V2 is registered in IIS (applicationHost.config)" -ForegroundColor Green
    } else {
        Write-Host "⚠️  ASP.NET Core Module V2 is NOT registered in IIS applicationHost.config" -ForegroundColor Yellow
        Write-Host "    If Check 1 and Check 2 passed, run a Repair of the .NET Hosting Bundle, then: iisreset" -ForegroundColor Yellow
    }
}

Interpreting the results:

Check 1 (Registry) Check 2 (DLL) Check 3 (IIS config) Meaning
Fully installed and registered — no action needed
⚠️ Hosting Bundle installed before IIS features were enabled. Run Repair on the Hosting Bundle installer, then iisreset
Hosting Bundle not installed. Download and install it
Corrupt installation. Uninstall and reinstall the Hosting Bundle

Common Issues & Troubleshooting

Issue: PowerShell IIS Commands Not Available

Problem: Commands like Get-WebGlobalModule, Get-Website, or Get-WebApplication return "command not found" errors

Root Cause: The IIS Administration PowerShell module is not installed or not imported

Solutions:

# Install IIS Administration PowerShell module
Install-WindowsFeature -Name Web-Scripting-Tools

# Alternative: Install from PowerShell Gallery (PowerShell 7)
Install-Module -Name IISAdministration -Force -AllowClobber

Option 2: Use Built-in PowerShell 7 Compatible Methods

# Check IIS status using CIM instead of Get-Website
Get-CimInstance -ClassName Win32_Service|Where-Object {$_.Name -eq "W3SVC"}

# Check application pools using appcmd.exe (always available)
& "$env:windir\system32\inetsrv\appcmd.exe" list apppool

# Check sites using appcmd.exe
& "$env:windir\system32\inetsrv\appcmd.exe" list site

Option 3: Import Legacy WebAdministration Module

# Import the legacy module (Windows PowerShell 5.1 compatible)
Import-Module WebAdministration -Force

Issue: Default Web Site Missing

Problem: Nodinite installer fails with "Default Web Site not found"

Solution:

  1. Open IIS Manager
  2. Right-click "Sites" → "Add Website"
  3. Name: Default Web Site
  4. Physical path: C:\inetpub\wwwroot
  5. Binding: HTTP, Port 80, All Unassigned

Issue: Windows Authentication Not Working

Problem: Users prompted for credentials or authentication fails

Solution: Verify Windows Authentication is enabled at multiple levels:

  1. IIS Feature Level: Ensure Web-Windows-Auth is installed
  2. Web Site Level: Check IIS Authentication settings configuration
  3. Application Level: Review Log API Prerequisites, Web API Prerequisites, Logging Service Prerequisites, Monitoring Service Prerequisites, Web Client Prerequisites

Issue: ASP.NET Core Module V2 Not Installed

Problem: Verification script reports ❌ Hosting Bundle is NOT installed, or Web Client/Web API fails with a 500.19 or 500.21 error

Root Cause: The ASP.NET Core Module V2 is not part of the IIS Windows Features. It is installed separately by the .NET 10 Hosting Bundle. Running the IIS features script alone will not install this module.

Solution:

  1. Download .NET 10.0 — select Hosting Bundle under Windows in the ASP.NET Core Runtime section
  2. Install the Hosting Bundle (this installs ASP.NET Core Module V2 into IIS automatically)
  3. Restart IIS: iisreset
  4. Re-run the verification checks — all three should now pass

Issue: Hosting Bundle Installed but IIS Module Not Registered (Check 3 fails)

Problem: Verification Check 1 (registry) and Check 2 (DLL) pass, but Check 3 (IIS config) shows ⚠️ NOT registered

Root Cause: The Hosting Bundle was installed before IIS Windows Features were enabled. The installer only writes the IIS module registration when IIS is already present at install time. The DLL exists on disk, but applicationHost.config was never updated.

Solution:

  1. Ensure all required IIS Windows Features are installed first
  2. Run the .NET Hosting Bundle installer again and select Repair
  3. Restart IIS: iisreset
  4. Re-run Check 3 — it should now show ✅ registered

Issue: ISAPI Extensions Blocked

Problem: Applications fail with "404.2 - ISAPI or CGI restriction"

Solution:

  1. Open IIS Manager
  2. Select server node → Double-click "ISAPI and CGI Restrictions"
  3. Find ASP.NET entries → Set to "Allowed"
  4. For .NET Framework 4.8: Allow %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll

Next Step

Install Nodinite v7 – Continue with Nodinite 7 installation
Update Nodinite v7 – Upgrade from previous versions
IIS Authentication settings – Configure Windows Authentication

Core Services Prerequisites:

Windows Configuration:

Installation Guides: