Tag Archives: installer

Office 2008 update includes Entourage EWS

Not that the release notes have any mention of it, but the Microsoft Office 2008 12.2.5 update will also install the latest Entourage EWS 13.0.5 if you had it on your hard disk already (else you get vanilla Entourage updated). You only need to install the stand-alone update if this is the first time you are installing the Exchange Web Services version of Entourage.

Microsoft’s Mac installers are good, but unnecessarily complicated. And the design of the Mactopia website drives me up the wall – tiny little scrolling <div> blocks and javascript hyperlinks makes it difficult to read the information and difficult to link straight to an update.

The hidden depths of Adobe CS4

Adobe‘s installers and updaters for the Creative Suite are amazingly bad. The updaters actually create a hidden directory /Applications/.AdobePatchFiles and store what I assume are the old versions of the files that get updated. Almost a gigabyte of data on my system!

What the fuck is wrong with these guys?

Not certain which is worse, that the updaters created a folder in /Applications that clearly belongs somewhere in /Library/Application Support (if it should exist at all) or that they made it hidden.

You can delete it.

Crazy Acrobat installers love Python

Looking through the updaters for Adobe Acrobat 9 for Mac I came across a bunch of scripts written in Python. My favourte was called FindAndKill.py:

#!/usr/bin/python
"""
    Search for and kill app. 
"""
import os, sys
import commands
import signal


def main():
    if len(sys.argv) != 2:
        print 'Missing or too many arguments.'
        print 'One argument and only one argument is required.'
        print 'Pass in the app name to find and kill (i.e. "Safari").'
        return 0

    psCmd = '/bin/ps -x -c | grep ' + sys.argv[1]
    st, output = commands.getstatusoutput( psCmd )

    if st == 0:
        appsToKill = output.split('\n')
        for app in appsToKill:
            parts = app.split()
            killCmd = 'kill -s 15 ' + parts[0]
            #print killCmd
            os.system( killCmd )

if __name__ == "__main__":
    main()

(You can download the Acrobat 9.1.3 update and find this script at Acrobat 9 Pro Patch.app/Contents/Resources/FindAndKill.py.)

Was the author not aware of the killall command for sending a kill signal to a named process? The killall man page says it appeared in FreeBSD 2.1, which was released in November 1995. Adobe CS4 was released about 14 years later. How is it Adobe’s product managers approve these things for release?

What is particularly galling about Adobe’s Acrobat 9 updaters is that they seem to re-implement so much of what the Apple installer application does, even down to their use of gzipped cpio archives for the payload.

Munki and watchedinstall

watchedinstall by Preston Holmes is a tool to monitor what files an installer actually installs. It works for pkg formats and most interestingly it works for custom install applications (i.e. InstallerVise reactionaries).

Munki is Greg Neagle‘s suite for keeping a bunch of Macs up-to-date with a centrally managed software manifest. I literally dream about this kind of problem and how best to cover all the various things one wants to do when managing software on a Mac network.

Somewhat bitter-sweet dreams. I think Macintosh management is interesting, but why couldn’t I have dreamt about girls?

Me and Adobe hates you

It’s not true, I don’t hate you, but the Adobe CS4 installer does.

I was installing Adobe Creative Suite 4 today on a Macintosh. I had the amazing Adobe CS4 Master Collection media to install from, but all I needed was the Illustrator, InDesign, Photoshop and Bridge. So in the installation process I choose a custom install and de-select most everything except those applications. I un-ticked After Effects because I didn’t want to install After Effects. I un-ticked Soundbooth, I un-ticked Dreamweaver, I un-ticked all them other applications.

The installation process begins. Finally it finishes. Afterwards I had Illustrator CS4, InDesign CS4, Photoshop CS4 and Bridge CS4 installed on my Mac’s hard drive. They all worked a treat.

I also had a dog’s dinner of all the other flipping applications installed, all the applications I did not want to install, I had little vomit stains of Adobe installations that didn’t quite actually install, but installed.

So for example I had a new folder in the Applications folder called “Adobe After Effects CS4” and inside there was an application named “Adobe After Effects CS4.app”. Except it isn’t an actual flipping application. It has a great big no entry icon on it because it isn’t an actual executable application.

CS4 installation mistake

In one sense the installer did what I expected: it did not install a usable After Effects CS4. In another sense it effing ignored what I expected by creating an installation folder for After Effects CS4 and then created an incomplete stub of the After Effects CS4 application.

I wish the Adobe CS4 installer had just done what I asked for. The Adobe installation and licensing blog is here.

Installers: correlate of hate

The degree of hatefulness for a Mac installer often correlates to the degree of hatefulness for the software it installs. Adobe Creative Suite is this rule’s exemplar. And if you have a Blackberry mobile phone you may have had fun trying to get the PocketMac for Blackberry software working.

The PocketMac installation experience is pretty poor. Not surprisingly it uses Mindvision’s Installer Vise. But the developers have really pushed the boat out and gone to the trouble of using an Apple installer package icon for the install application. Do not be deceived! It is an application, not a package.

The PocketMac installer

The PocketMac installer

And if you succeed in installing the sync application, don’t expect it to work unless you happen to have learnt that you should only connect the Blackberry to the USB cable after you have opened the sync application.

Fiery RIPs, old-fashioned installation hate

Whether you buy from Canon or Xerox (or Epson or Konica Minolta, etc.), if you are buying a printer for heavy-duty use in a Mac design studio then it will probably have a Fiery RIP1 manufactured by Electronics For Imaging.

There are lots of things to hate about Fiery RIPs.

But right now I am going to hate their backward attitude to Mac driver installation. It is the year 2009 and this lot have yet to supply drivers as anything other than Installer Vise applications. So that means no simple command-line roll-outs with Apple Remote Desktop. That means no way of looking at the installation manifest ahead of installation. No way of having any confidence that the installer won’t screw everything up.

To compound their sins, EFI like to give their installer applications a very pretty icon that looks just like a stylized Apple installer package. It is a very pretty icon of a box; a box full of hate.

Purple box of Installer Vise hate

Purple box of Installer Vise hate


  1. RIP stands for Raster Image Processor. Which leads to quite enjoyable conversations about ripping through pages. 

Installer sympathy for Linux

Nice to see the installation process on Linux can be as misguided as it is on Mac OS X.

The irritating thing about these system manglings is that by and large they’re unnecessary, especially things like the JDK ugliness. These companies are not running into novel problems in building RPM packages, and other software manages to do the right thing. The companies were just lazy. (And because of the license terms of their software, outsiders can’t fix the problem, build proper packages, and distribute the results.)

Chris Siebenmann’s blog, Wandering Thoughts.

Adobe AIR installer, a hateful tradition

Tweetdeck seems to be the path of least resistance for a desktop Twitter client on Mac OS X 10.4 (there are other free Mac desktop clients, Nambu and Tweetie but unfortunately they both require 10.5).

But Tweetdeck requires the Adobe AIR runtime. And the Adobe AIR 1.5 installer takes Adobe’s favourite approach of ignoring Mac OS X’s package installer format in favour of a custom installer application.

When you open the installer, it takes a few seconds and then gives you a license agreement. Here’s an excerpt:

2.3 Distribution. This license does not grant you the right to sublicense or distribute the Software. For information about obtaining the right to distribute the Software on tangible media or through an internal network or with your product or service please refer to…

I read that as explicitly banning any efforts to create a package to ease the pain of deploying AIR across a bunch of Macs. Damn it.

Clicking Accept moves you to the installation proper, and Adobe loses a few more points by immediately throwing up an authentication dialog box. Why does this dialog appear? What am I about to install? If only this was a package installer I could have looked at the installation manifest to get an idea of what was going to happen before granting the installer free rein to my computer.

Turns out that everything you care about is installed in /Library/Frameworks/Adobe AIR.framework and /Applications/Utilities/Adobe AIR Application Installer.app and /Applications/Utilities/Adobe AIR Uninstaller.app. For some reason the installer also touches a couple of files in /Users/Shared/Library/Application Support/Adobe/AIR/Updater and slips a couple utility apps in your Library somewhere. You can ignore those.

It feels particularly wrong when non-system applications put things in the Utilities folder – it is effectively a special system directory, and its contents are tools for tinkering with the system configuration or for diagnostics. Adobe Creative Suite 3 likes to create a folder Adobe Installers in there and Adobe Utilities, just in case you haven’t worked out how much you need their software on your computer.

Heaven is almost certainly running System 6.0.8. Nothing is installed without Font DA Mover.

Package installer wish

Mac OS X administrators frequently need to build installer packages to help deploy and manage software on a network of Macs. The motive for creating a package is one of

  • Packaging software that does not have a dedicated installer. This applies to all the nice drag-and-drop applications like Firefox and Cyberduck.
  • Packaging your own site’s software, whether that is as simple as printer descriptions or as complex as a full-blown application.
  • Re-packaging some miserable piece of shit installer that either totally denies the harsh reality of Apple’s non-cross platform installer formats or which manages to make such a balls of an install package that you were better off before they bothered. Most everything by Adobe is in this category.

The first of those three is very common, and it ought to be easy to create packages for existing installed applications. Apple’s PackageMaker application provides a nice interface for creating packages, but it has two drawbacks:

  • PackageMaker is not installed by default on Mac OS X (it gets intalled as part of the Developer Tools).
  • Before PackageMaker 3 (part of Xcode 3, which requires Mac OS X 10.5) there was no simple method for quickly packaging an installed application.

What I want is a package creation tool that works on a 10.4 system without requiring the developer tools and which can be scripted. The packagemaker command-line tool requires an existing Info.plist file or .pmdoc file if you want to set a custom default installation directory – not the end of the world, but tedious.

Useful links

  • Iceberg is an excellent graphical tool for building packages, by St├ęphane Sudre who also wrote up the…
  • PackageMaker how-to which is a very useful introduction to the details of .pkg files. Bit out-of-date these days.
  • Man pages for the command-line packagemaker and for the installer tools.
  • Apple’s software distribution documentation, which is very quiet on the subject of custom installer plug-ins. Xcode has a template project for an installer plugin, and the InstallerPlugins.framework headers have lots of information.
  • Installer-dev mailing list, where the people who wrote the tools and documentation help out a lot.
  • JAMF Composer which is part of the Casper management tools. Version 7 is no longer free.