Step 9: Remove legacy v6 IIS applications and Windows services
Remove old Nodinite v6 Core Services from IIS after the second ZIP package has been installed in Step 8.
Warning
Do not run this step before Step 8. Legacy removal must happen after the package that includes Core Services and agents has been downloaded and installed.
Prerequisites
- Step 8 completed - Monitoring Agents downloaded and updated
- PowerShell 7 with administrator privileges
Recommended: Remove Legacy with CLI
Run the CLI from the extracted second ZIP bundle:
Nodinite.Installer.Cli.exe remove-legacy --config config.json
Note
Use the
config.jsonfile from your extracted agents bundle path.
Important
NodiniteUpdatemust still be removed manually using Programs and Features in Windows.
This command removes the legacy environment in the correct order and is the recommended approach when available.
Manual Fallback: Remove via IIS Manager
If CLI removal is not available, clean up manually in IIS.
1. Remove Old v6 Web Applications

Example of old Nodinite v6 web applications that should be removed in IIS Manager.
- Open IIS Manager on the Nodinite Application Server.
- Expand the server node and then Sites.
- Find the site hosting old Nodinite applications, usually Default Web Site.
- Remove old applications:
- Right-click
/Nodinite/ENV/WebClientand select Remove. - Right-click
/Nodinite/ENV/WebAPIand select Remove. - Right-click
/Nodinite/ENV/LogAPIand select Remove. - Right-click
/NodiniteUpdate/UpdateClientand select Remove.
- Right-click
2. Remove Custom SSL/TLS Website
In v6, a dedicated IIS website was often used to terminate TLS. In v7 this is configured differently in Step 10: Configure TLS.
Important
Before removing the custom website, note the host name and certificate thumbprint for reuse in Step 10.
- In IIS Manager, expand Sites.
- Identify the custom v6 Nodinite TLS site.
- Remove any web applications under that site.
- Remove the site itself.
3. Remove Conflicting Hostname Bindings
- Open Bindings for Default Web Site and any other site.
- Find bindings using the Nodinite host name or old certificate thumbprint.
- Remove those bindings.
4. Remove Old Application Pools

Example of old v6 IIS application pools that should be removed after web applications are deleted.
- Open Application Pools in IIS Manager.
- Locate v6-era pools, for example
Nodinite - %ENVIRONMENTNAME% - Web API. - Remove old pools no longer in use.
Remove Old Windows Services
After the IIS cleanup, remove old v6 Windows Services.
Generate Removal Script
try {
$services = Get-Service | Where-Object { $_.Name -like "Nodinite*" -and $_.Name -ne "NodiniteUpdateService" }
} catch {
Write-Warning "Some services could not be queried. Continuing with available services."
$services = @()
}
$outputScript = "Remove-Nodinite-Services.ps1"
Set-Content -Path $outputScript -Value "# Auto-generated script to stop and remove Nodinite Windows services`n"
foreach ($service in $services) {
Add-Content -Path $outputScript -Value "Stop-Service -Name '$($service.Name)' -Force"
Add-Content -Path $outputScript -Value "sc.exe delete '$($service.Name)'`n"
}
$folderPaths = foreach ($service in $services) {
$wmiService = Get-CimInstance Win32_Service -Filter "Name='$($service.Name)'"
if ($wmiService -and $wmiService.PathName) {
Split-Path -Parent ($wmiService.PathName.Trim('"'))
}
}
$folderPaths | Sort-Object -Unique | Set-Content -Path "Nodinite-AgentFolders.txt"
Write-Host "Generated: $outputScript and Nodinite-AgentFolders.txt"
Review and Execute
- Open
Remove-Nodinite-Services.ps1and remove entries for environments you are not migrating. - Open PowerShell 7 as Administrator.
- Run
./Remove-Nodinite-Services.ps1. - Verify removal in
services.msc.
Completion Checklist
- Legacy Core Services removed after Step 8
- Old v6 web applications removed from IIS
- Old host name bindings removed
- Old v6 application pools removed
- Old v6 Windows Services removed
-
Nodinite-AgentFolders.txtgenerated for Step 13 - Ready to proceed with Step 10
Troubleshooting
Step 10 Fails with Binding Conflict
Problem: TLS configuration fails because a host name is still bound in IIS.
Solution:
- Return to this step and verify bindings on all IIS sites
- Remove all duplicate host name bindings before retrying Step 10
Cannot Remove an Application Pool
Problem: IIS reports that the pool still has applications.
Solution:
- Remove remaining application mappings first
- Restart IIS Manager and retry