I just finished reading John C Welch’s article regarding the cost of bad installers, specifically highlighting some of the issues surrounding Adobe products.
The basic key point is:> For most people, a less-than-optimal installer is something they think of only once when they first install the application. Once that’s done, then so’s the installer, unless something goes wrong, forcing you to reinstall an application. Of course, that line of thought ignores a rather significant issue—updates. Whenever we update our installed applications to fix bugs, or—more important from my point of view—plug security holes, the installer comes into play.
Any installer—even a really bad one—is not a huge problem if you only ever install it on one machine. Oh sure, it’s annoying, but it’s one machine. It’s when you have to install that same update on ten machines, or 100 machines, or 1,000 machines that annoyances for a single instance become major problems.
This (as much as anything else) is one of the big reasons that prevents Apple from getting serious traction in larger enterprise type environments. Windows, despite it’s many other failings, has defined and for the most part succeeded in imposing standards regarding how applications are installed which makes workstations and servers much more easily managed automatically. We’ve come a long way from the pile of login scripts written in DOS and VBScript since a lot of the necessary intelligence has been integrated into the management tools.
It’s curious how Apple has had much more success in imposing it’s way of doing things with regards to the user interface, but much less in installer standards. The irony of the situation here is that the vast majority of OS X applications, even from the smallest developers, actually do tend to adhere to Apple’s installer standards but the ones that don’t are the ones that are otherwise more “enterprisey” than the run of the mill independent developer. Adobe being one of the worst offenders here. Although to be fair, they are almost as bad in the Windows world with their own upgrade service that tries to go around standard procedures, but at least you can turn this off and redeploy the latest MSI based installer.
This type of issue surrounding manageability is a show stopper for many companies that have a lot of machines to manage. Administrative costs in the IT department are one of the key metrics that need to be controlled as these are ongoing operations costs which are always more important that the capital expenditure costs in the long run.
As someone who used to manage a large mixed environment of Windows and Macs, this is the sort of thing that used to keep me up nights (and working weekends).
Missing from the article (but noted in the comments) is the flip side: removing applications cleanly and automatically. AppZapperneeds to be included as a system service and drag and drop applications need to publish a list of support files (other than user data) created in the ~/Library and /Library hierarchies so that uninstalls everything and ideally moves user data files out into the regular user space.