Uninstall Forwarder

This guide covers methods for removing the Stairwell forwarder from Windows systems. Unless noted otherwise, these steps apply to all forwarder versions except 1.4.x (see the special procedure at the end).

Uninstall via Apps and Features

The simplest method for most environments.

  1. Open Apps & Features (Windows 10/11) or Programs and Features (Control Panel).
  2. Locate Stairwell Forwarder in the list.
  3. Select the entry and click Uninstall.
  4. Follow any prompts until the process completes.

Uninstall via Command Line

Use this method for scripted or silent removal. You must use the same installer executable (same version and installer type) that was originally used to install the forwarder.

  1. Copy the matching installer executable to the target system.
  2. Open an elevated Command Prompt (Run as administrator).
  3. Navigate to the directory containing the installer.
  4. Run:
StairwellForwarderBundle-1.6.4.0.exe /uninstall /Log StairwellUninstall.log /q /norestart

Replace the filename with your actual installer version. After the command completes, verify the forwarder no longer appears in Apps & Features and the Stairwell service is not listed in services.msc.

Uninstall via ProductCode (Advanced)

If the original installer is unavailable, you can uninstall using the MSI ProductCode.

  1. Open Registry Editor (regedit.exe) as administrator.
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall.
  3. Look for a subkey (GUID format) where the DisplayName value contains "Stairwell".
  4. Note the GUID key name -- this is the ProductCode.
  5. Open an elevated Command Prompt and run:
msiexec /x {YOUR-PRODUCT-CODE-GUID} /qn /norestart

Uninstall via PowerShell (Remote/Bulk)

For removing the forwarder from one or more machines remotely, use the following PowerShell script. It queries the registry for Stairwell ProductCodes and runs msiexec /x for each.

param(
  [string[]]$Computers,
  [pscredential]$Credential = $null
)

if (-not $Computers) { $Computers = @('localhost') }

$sb = {
  $paths = @(
    'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
  )

  $productCodes = foreach ($p in $paths) {
    if (Test-Path (Split-Path $p)) {
      Get-ItemProperty -Path $p -ErrorAction SilentlyContinue |
        Where-Object { $_.ProductCode -and
          ($_.DisplayName -like '*Stairwell*Forwarder*' -or
           $_.Publisher -like '*Stairwell*') } |
        Select-Object -ExpandProperty ProductCode
    }
  } | Where-Object { $_ } | Select-Object -Unique

  foreach ($code in $productCodes) {
    Start-Process -FilePath 'msiexec.exe' `
      -ArgumentList "/x $code /qn /norestart" -Wait -WindowStyle Hidden
  }
}

if ($Credential) {
  Invoke-Command -ComputerName $Computers -ScriptBlock $sb `
    -Credential $Credential -ErrorAction Continue
} else {
  Invoke-Command -ComputerName $Computers -ScriptBlock $sb `
    -ErrorAction Continue
}

Usage:

# Local machine
.\Uninstall-StairwellForwarder.ps1

# Remote machines
.\Uninstall-StairwellForwarder.ps1 -Computers "server1","server2"

# Remote with credentials
.\Uninstall-StairwellForwarder.ps1 -Computers "server1" -Credential (Get-Credential)

Special Procedure: Version 1.4.x

Version 1.4.x requires entering maintenance mode, running a repair, then uninstalling.

  1. Open cmd.exe and enter maintenance mode:
    "C:\Program Files\Stairwell\SwellService\SwellService.exe" -mainttoken=$token
  2. In Programs and Features, locate StairwellForwarderBundle.exe and select Repair.
  3. Re-enter maintenance mode using the same command from step 1.
  4. Run the uninstall:
    StairwellForwarderBundle-1.4.0.886.exe /uninstall /Log StairwellUninstall.log /q /norestart
  5. Reboot the system. The driver and service may remain running until reboot.
  6. After reboot, verify the service is gone in services.msc and SWAGENT is not listed in fltmc.exe output.