(the list is bigger, but I selected only a few of them)MSI (c) (B8:AC) [08:00:25:814]: Disallowing uninstallation of component: {9E6DB504-23AF-419E-8E70-B165ADAB88F0} since another client exists
MSI (c) (B8:AC) [08:00:25:814]: Disallowing uninstallation of component: {5C84D46D-4C36-4B32-AFF0-76138A55BA55} since another client exists
MSI (c) (B8:AC) [08:00:25:814]: Disallowing uninstallation of component: {55D7E9B3-36AD-4BA2-8140-F83BEF3ED7DD} since another client exists
MSI (c) (B8:AC) [08:00:25:814]: Disallowing uninstallation of component: {64C6D793-7F93-48D5-858F-F2FA37605B4C} since another client exists
MSI (c) (B8:AC) [08:00:25:814]: Disallowing uninstallation of component: {94257185-7702-4E9F-9AE0-695401241C1A} since another client exists
Code: Select all
$productName = "DrawBridge Agent" # this should basically match against your previous
# installation path. Make sure that you don't mess with other components used
# by any other MSI package
$components = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\
$count = 0
foreach ($c in $components)
{
foreach($p in $c.Property)
{
$propValue = (Get-ItemProperty "Registry::$($c.Name)" -Name "$($p)")."$($p)"
if ($propValue -match $productName)
{
Write-Output $propValue
$count++
Remove-Item "Registry::$($c.Name)" -Recurse
}
}
}
Write-Host "$($count) key(s) removed"