How to remove Soda PDF via GPO

This guide details how to uninstall Soda PDF Desktop using Group Policy Objects (GPO).

 

Uninstalling Soda PDF via GPO

Method 1 - MSI-by-MSI Uninstallation

To manually remove each MSI:

  1. Open Group Policy Management Editor.
  2. Navigate to Software Installation under Computer Configuration -> Policies.
  3. Right-click each installed MSI and select All Tasks -> Remove.
  4. Choose the removal method, then click OK.

Repeat for each installed MSI until all modules are uninstalled.

 

Method 2 - Uninstalling Soda PDF via PowerShell

use /uninstall=quiet then the applications will be uninstaller silently

Example: for cmd
"C:\ProgramData\Soda PDF Desktop 14\Installation\SodaPDFDesktop14.exe" /uninstall=quiet

 

# Define service name wildcard
$serviceWildcard = "Soda PDF Desktop*"

# Stopping and removing matching services
Write-Host "Stopping and removing services matching '$serviceWildcard'..."

# Get services matching the wildcard
$services = Get-Service | Where-Object { $_.DisplayName -like $serviceWildcard }

foreach ($service in $services) {
Write-Host "Stopping service: $($service.DisplayName)"
Stop-Service -Name $service.Name -Force -ErrorAction SilentlyContinue
Write-Host "Removing service: $($service.DisplayName)"
sc.exe delete $service.Name | Out-Null
}

Write-Host "Service cleanup complete."

# Fetch and process uninstall strings (as before)
$uninstall32 = Get-ChildItem "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" |
ForEach-Object { Get-ItemProperty $_.PSPath } |
Where-Object { $_.DisplayName -match "Soda PDF Desktop" } |
Select-Object -ExpandProperty UninstallString -ErrorAction SilentlyContinue

$uninstall64 = Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" |
ForEach-Object { Get-ItemProperty $_.PSPath } |
Where-Object { $_.DisplayName -match "Soda PDF Desktop" } |
Select-Object -ExpandProperty UninstallString -ErrorAction SilentlyContinue

# 32-bit uninstallation
if ($uninstall32) {
Write-Host "Running 32-bit uninstaller silently..."
Start-Process -FilePath "C:\ProgramData\Soda PDF Desktop*\Installation\SodaPDFDesktop*.exe" `
-ArgumentList "/uninstall=quiet /norestart" -Wait
} else {
Write-Host "No 32-bit Soda PDF Desktop found."
}

# 64-bit uninstallation
if ($uninstall64) {
$uninstall64Commands = $uninstall64 -split "MsiExec.exe"
foreach ($command in $uninstall64Commands) {
$command = "MsiExec.exe " + $command.Trim()
if ($command -match "/X|/I") {
$arguments = ($command -replace "MsiExec.exe", "").Trim() + " /qn /norestart"
Write-Host "Running 64-bit uninstaller silently: MsiExec.exe $arguments"
Start-Process -FilePath "MsiExec.exe" -ArgumentList $arguments -Wait
}
}
} else {
Write-Host "No 64-bit Soda PDF Desktop found."
}

# Cleanup remaining folders using wildcards
Write-Host "Cleaning up leftover Soda PDF directories using wildcards..."

$foldersToClean = @(
"C:\Program Files\Soda PDF Desktop*",
"C:\Program Files (x86)\Soda PDF Desktop*",
"C:\ProgramData\Soda PDF Desktop*"
)

foreach ($folder in $foldersToClean) {
Get-ChildItem -Path $folder -Directory -ErrorAction SilentlyContinue | ForEach-Object {
if (Test-Path $_.FullName) {
Write-Host "Removing folder: $($_.FullName)"
Remove-Item -Path $_.FullName -Recurse -Force -ErrorAction SilentlyContinue
} else {
Write-Host "Folder not found: $($_.FullName)"
}
}
}

Write-Host "Cleanup complete."

Was this article helpful?

Yes No
Have more questions? Submit a request