I can be assured that when receiving a new Lenovo notebook for a client for example, I will spend 30 "active minutes" and 30 "waiting minutes" simply removing software I don't need--and babysitting the Windows installer. That's an hour of time when my average site visit is 4 hours in length, what a waste!
This is a job that should take 30 seconds of active time and maybe 5 minutes of waiting.
So, the Windows installer framework in Windows Vista and later:
- Has no concurrency (seems MS has still not figured out how to handle shared libraries and dependencies)
- Is doggedly slow
- Assumes I am too dumb and my time is worth nothing
Constrast to Windows XPIn Windows XP, application vendors often had uninstall links in their Programs folder on the Start Menu, allowing you to simulate some kind of concurrency.
In Windows 7 the trend seems to be that applications remove the uninstall links from their Start Menu folders, you must use "Programs and Features" in Control Panel.
Using uninstall links allowed you to work around the problem of uninstalling multiple programs at the same time.
The New FrameworkThe Microsoft Install framework is "too smart" and will not let you modify two software packages that both use Windows Installer, and this is just a real bummer.
Not to mention that Windows Installer is just damn slow, and insists on "Collecting the required information for like 5 minutes while there is no sign of the dialogs actually doing anything, and no disk or CPU activity. "Please wait while the current package is being configured." It seems like the developers at MS wrote this as part of their installer code:
if package.is_installing():in an endless loop.
The Proper SolutionContrast this with most Linux package management systems' process for removing firefox, gimp, libreoffice in one fell swoop:
pacman -R firefox gimp libreoffice
apt-get remove firefox gimp libreoffice
sudo apt-get remove firefox gimp libreoffice
yum remove firefox gimp libreoffice
Do What Mac OS X doesOr we can even use Mac OS X and drag the applications from the Applications folder to the trash bin and get it over with. Thanks, Apple!
More time = more moneyBut after all this, the realization hits me: Microsoft is helping me to make money by bumping up my billable hours. To my clients: honestly, it's not me being slow, it's MS!
There is one way to address this, by writing a script to do the in
wmic product where name="" call uninstall /interactive:off
But there are flaws like half-removed programs, and there is no concurrency, you still have to uninstall one-at-a-time.
*Sigh* someday MS will get a clue.