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
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.