You don't necessarily need to use Add/Remove Programs to remove a program from Windows. A lot of programs have an uninstall .exe
This can be got from the registry at HKLM\Software\Microsoft\Windows\Currentversion\Uni stall\[name ofapp]\UninstallString.
If you call the uninstall exe directly you can uninstall the product using Silk.
Also, running the actual install program again when an application is already installed will sometimes give you the option of uninstalling or removing. That is how I do my uninstalls for a few applications I have automated.
Some of the apps I deal with use a GUID in that uninstall section of the registry. Anyway, that GUID can change from build to build. And the uninstall string uses that GUID. SOOOOO.. I created 2 methods. One gets all the uninstall strings in that section of the registry and another will get the uninstall string of the specified app. Once you've got the unistall string, you just need to run Sys_Execute and then step through the uninstaller. Send me an email if you're interested and I'll send back the code.