Bad software uninstall

(imported topic written by mcalvi91)

We had a software package which has a horrible uninstall. We have tried to remove it 2-3 times using various means but have ran in to sytemmatic problems before (systems are turned off, no rights, etc).

Now we have bigfix on the majority of the systems and can set a custom fixlet to remove the software and any traces of it. We have developed the following fixlet but when we try to deploy it , we get a pop up “Unable to parse action script line 15: Unknown action command.”

Im not exactly sure whats going on as line 15 is a comment, so are the lines preceding it. If anyone has any thoughts to help us, below is the fixlet. TIA.

//Remove Monocle from the workstation and clean up PatchLink uninstall.

//

// Preparation work

// ****************************************************************

// clear previously used values

delete __appendfile

delete temp.reg

appendfile REGEDIT4

// ****************************************************************

//Clean up old patchlink stuff

// ****************************************************************

// check for old Patchlink event log entry

if(exists key “HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Patchlink” of registry)

appendfile

-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Patchlink

end if

//check in case patchlink svc registry entery exists

if(exists key “HKLM\SYSTEM\CurrentControlSet\Services\PatchLink Update” of registry)

appendfile

-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PatchLink Update

end if

// ****************************************************************

// Start to remove Monocle Registry Entries

// ****************************************************************

//check various monocle services and add for removal if they exists

if(exists key “HKLM\SYSTEM\CurrentControlSet\Services\DistributedSoftwareMeteringTransmitterService” of registry)

appendfile

-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DistributedSoftwareMeteringTransmitterService

end if

if(exists key “HKLM\SYSTEM\CurrentControlSet\Services\Monocle 5.0 Distributed Asset Transmission” of registry)

appendfile

http://-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Monocle 5.0 Distributed Asset Transmission

end if

if(exists key “HKLM\SYSTEM\CurrentControlSet\Services\Monocle 5.0 Distributed Configuration Updater” of registry)

appendfile

http://-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Monocle 5.0 Distributed Configuration Updater

end if

if(exists key “HKLM\SYSTEM\CurrentControlSet\Services\Monocle 5.0 System Agent” of registry)

appendfile

http://-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Monocle 5.0 System Agent

end if

//check for the main registry of the application

if(exists key “HKLM\SOFTWARE\Monocle Asset Tracking” of registry)

appendfile

-HKEY_LOCAL_MACHINE\SOFTWARE\Monocle Asset Tracking

end if

//check for the uninstall key in for Monocle

if(exists key “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{F5FC2ACE-3179-4581-B238-9611D082C590}” of registry)

appendfile

-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{F5FC2ACE-3179-4581-B238-9611D082C590}

end if

// blank line to make it work

appendfile

// ****************************************************************

// Monocle Process Section

// ****************************************************************

// kill service process

waithidden {if (name of operating system = “WinXP”) then (pathname of client folder of site “BESSupport” & “\taskkill.exe /f /im Monocle.SystemAgent.Service.exe”) else (pathname of client folder of site “BESSupport” & “\kill.exe /f Monocle.SystemAgent.Service.exe”) }

// ****************************************************************

// Remove Registry Section

// ****************************************************************

move __appendfile temp.reg

waithidden regedit -s temp.reg

// ****************************************************************

// Remove Monocle Files Section

// ****************************************************************

if(exists folder “c:\Program Files\Lexiter Technologies”)

dos rmdir /Q /S “c:\Program Files\Lexiter Technologies”

end if

// ****************************************************************

(imported comment written by mcalvi91)

got it. need to watch the ( vs { and the if syntax (endif vs end if)

(imported comment written by BenKus)

Hey mcalvi,

Would you post a .bes file of your functional action… I have heard of other people who have had issues with this same problematic software and they might appreciate your code.

Ben

(imported comment written by mcalvi91)

sure, we are still having some problems with removing a certain reg key (see below) but once I get that working, then I will.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{F5FC2ACE-3179-4581-B238-9611D082C590}

(imported comment written by mcalvi91)

here is the .bes file for Monocle removal. We include some other Patchlink clean up as well since it didnt uninstall nicely.

One thing we found is that the Monocle app uses .NET v1.1 with some specialized resources. Thus those files are locked by .NET. When another .NET v1.1 app loads, it keeps the resources locked even though the Monocle process is stopped… so FYI