- 4 minutes to read

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


Run the CLI from the extracted second ZIP bundle:

Nodinite.Installer.Cli.exe remove-legacy --config config.json

Note

Use the config.json file from your extracted agents bundle path.

Important

NodiniteUpdate must 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

Nodinite v6 Web Applications in IIS Manager
Example of old Nodinite v6 web applications that should be removed in IIS Manager.

  1. Open IIS Manager on the Nodinite Application Server.
  2. Expand the server node and then Sites.
  3. Find the site hosting old Nodinite applications, usually Default Web Site.
  4. Remove old applications:
    • Right-click /Nodinite/ENV/WebClient and select Remove.
    • Right-click /Nodinite/ENV/WebAPI and select Remove.
    • Right-click /Nodinite/ENV/LogAPI and select Remove.
    • Right-click /NodiniteUpdate/UpdateClient and select Remove.

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.

  1. In IIS Manager, expand Sites.
  2. Identify the custom v6 Nodinite TLS site.
  3. Remove any web applications under that site.
  4. Remove the site itself.

3. Remove Conflicting Hostname Bindings

  1. Open Bindings for Default Web Site and any other site.
  2. Find bindings using the Nodinite host name or old certificate thumbprint.
  3. Remove those bindings.

4. Remove Old Application Pools

IIS Application Pools showing v6-era pools to remove
Example of old v6 IIS application pools that should be removed after web applications are deleted.

  1. Open Application Pools in IIS Manager.
  2. Locate v6-era pools, for example Nodinite - %ENVIRONMENTNAME% - Web API.
  3. 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

  1. Open Remove-Nodinite-Services.ps1 and remove entries for environments you are not migrating.
  2. Open PowerShell 7 as Administrator.
  3. Run ./Remove-Nodinite-Services.ps1.
  4. 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.txt generated 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

Next Steps