I know this is a old thread but I wrote a VB.net program and one of it's functions is to pull a "uninstall" list file off the server at start up, check for the existence of any app in the list in the uninstall registry key, then use that information to execute msiexec.exe with the GUID and the uninstall string along with the silent option. Works great. Pseudo code:

Get name of app to uninstall
Get a array of all the keys under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Once you have the array check each key's "DisplayName" and see if it matches the app to uninstall
Once found get "UninstallString" string from that key
Execute the uninstall string. Tack on a "/quiet" to the end if needed.

I have this in a little VB function so I just pass a program name (entry as it appears in Add/Remove programs) to it and it uninstalls it. Pretty helpful.

-Allan
_________________________
Kixtarter - KiXtart Script Editor
http://www.AllanDynes.com/