Microsoft is giving people something to talk about.
Wednesday, March 21, 2007
A friend pointed me to Raymond Chen's blog, which offers insights into Microsoft's software and business design process. (Apparently, Chen is a point person within Microsoft who deals with issues such as compatibility and legacy software.)
Recently, a customer asked Chen,
Does the Windows XP Add/Remove Programs control panel expose a scriptable object model? We want out program to open the Add/Remove Programs control panel and uninstall the programs of our competitors.
Interesting sentiments. The blog entry has garnered more than 49 comments so far, including, early on, this one, which is my favorite:
"Maybe they can uninstall their own program while they're at it."
Unfortunately, most of the answers provide rather technical information about how to do what the customer asked.
Comments
Buckwheat469 on 03/21/2007 at 4:00 PM
33
I suppose maybe the appropriate answer to the question posed by the user is Yes, there is a way to script uninstalls and reflect it on the "Add/Remove Programs" dialog. The simple solution is to delete the program files (if the program doesn't have an uninstall.exe in the program folder), then delete the program entries in the registry, including the entry for the Add/Remove Programs list. Most of this is taken care of in the registry, but I really caution against using it as an uninstall tool because it also runs your OS.
You can script this process, which is essentially what the uninstall.exe programs do. When a program is installed it may write an install.log file which records all of the files and registry keys written. When the uninstall.exe program is run it will look to this file and run it backwards with "delete" commands rather than "write" commands. This is just a generalization to show that it is possible and many programs do it, however new technology runs differently, but the idea still holds true.
As for the usefulness of this blog entry, I found no value to it because it didn't explain anything and had only one opinion with no supporting evidence.