In this article, you will find the steps that you need to perform in order to uninstall the HEIMDAL Agent (Windows). There are several ways to uninstall the HEIMDAL Agent. Here are the
1. Uninstalling the HEIMDAL Agent from the Control Panel (Programs and Features)
2. Uninstalling the HEIMDAL Agent using PowerShell
3. Uninstalling the HEIMDAL Agent via the Dashboard
UNINSTALLING THE HEIMDAL AGENT FROM CONTROL PANEL (PROGRAMS AND FEATURES)
To uninstall the HEIMDAL Agent, you are required to have Administrator permissions. To do that, follow the steps below:
1. Click the Start button and type Control Panel.
2. Click on Programs and then Uninstall a Program.
3. From the Programs and Features list, select the Heimdal Thor Agent and click Uninstall.
UNINSTALLING THE HEIMDAL AGENT USING POWERSHELL
You can uninstall the HEIMDAL Agent using the PowerShell script below (running as Administrator). The script below queries the Uninstall hive to find the Product Code (GUID) of the HEIMDAL Thor Agent (which is different from one version to another) and uses it to run the MsiExec to uninstall it:
# Define the application name pattern
$appNamePattern = "Heimdal Thor Agent"
# Set log path to your specified desktop location
$logPath = "C:\ProgramData\Heimdal Security\HeimdalLogs\Heimdal.Wizard\001_heimdal_uninstall_script.log"
# ENTER PASSWORD HERE (Leave empty if not required)
$uninstallPassword = ""
# Define only the specific path in WOW6432Node
$registryPath = "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
# Search for the software
$foundItems = Get-ItemProperty $registryPath -ErrorAction SilentlyContinue | Where-Object {
$_.DisplayName -like "*$appNamePattern*"
}
if (-not $foundItems) {
Write-Host "Could not find any application matching '$appNamePattern' in WOW6432Node." -ForegroundColor Yellow
exit
}
# Process each found item
foreach ($item in $foundItems) {
$guid = ($item.PSPath -split '\\')[-1]
Write-Host "Found: $($item.DisplayName) (GUID: $guid)" -ForegroundColor Cyan
# Construct arguments
$argList = "/X$guid /qn /L*v `"$logPath`""
# Add password if it was provided
if (-not [string]::IsNullOrWhiteSpace($uninstallPassword)) {
$argList += " UNINSTALLPASSWORD=`"$uninstallPassword`""
Write-Host "Password provided, adding to arguments..." -ForegroundColor Gray
}
Write-Host "Uninstalling..." -ForegroundColor White
# Run MSIEXEC
$process = Start-Process -FilePath "msiexec.exe" -ArgumentList $argList -Wait -PassThru
if ($process.ExitCode -eq 0) {
Write-Host "Successfully uninstalled $($item.DisplayName)." -ForegroundColor Green
} else {
Write-Host "Uninstallation failed for $guid with exit code $($process.ExitCode)." -ForegroundColor Red
Write-Host "Check log at: $logPath"
}
}In case the HEIMDAL Agent is limited by an uninstall password set in the Group Policy, you can pass in the $uninstallPassword variable.
UNINSTALLING THE HEIMDAL AGENT VIA THE DASHBOARD
To uninstall the HEIMDAL Agent, via the Heimdal Dashboard, follow the steps below:
1. Navigate to the Device Info tab;
2. Toggle the Hostname;
3. Select what actions to take;
4. Uninstall Heimdal agent;
5. Apply.
This will send the uninstall command to the device. If the endpoint is active and syncs with the Dashboard, it will receive the command and proceed with the uninstall. Since this is executed directly via the Dashboard, no uninstall password is required.
You can monitor the progress in the Server Commands tab, where the status will show as either Pending or Completed.
IMPORTANT! The uninstall option via the Dashboard can only be performed on one endpoint at a time; mass uninstallation is not supported.