Two Slashes

Installing iLife ’08 on <10.4.9

Disclaimer (added 9/9): Thanks to several people for bringing to my attention the fact that my installation method breaks their installations of OS X. With some investigation, derbochennag has found what he believes to be the answer: the modifications the installer for the Quartz components makes to the OS.

If you’ve attempted this method and found that key features of the operating system, such as Spotlight, no longer function, or that some of the more popular applications fail to launch, this is a result of your installation being broken.

If anyone would be willing, I would appreciate someone trying the script, but without all of the Quartz installation, and see if that helps. I would test it personally, but my OS X box is a bit far away from me.

(Update 9/18: I’ve modified the available copy of the script to not install Quartz. The necessary lines are still in there if you want to try, but I don’t recommend it.)

My apologies for the problem.

So, I just finished writing about how you can’t go through installing iWork on a Mac/Hackintosh with less than OS X 10.4.10 on it. The sad part is that there is a similar limit in place on iLife ’08. At least they’re nice enough to leave 10.4.9 as a plausible option this time around, but once again those of us who don’t want to or can’t update are left either stuck on the old version, or finding a way to install on their older version.

Well, not meaning to be left in the dark after I just finished monkeying with iWork, I have developed a similar guide to installing iLife on older Macs.

To begin following this guide, make sure you’ve got:

  • A copy of iLife ’08
  • A relatively recent version of OS X (once again, I’m using 10.4.8)
  • Administrative privileges on the copy of OS X you’re installing iLife to.

And now for the steps you’ll need to take:

  1. With the installation media mounted to your Desktop, show the contents of the installation package. Unlike iWork, this is the actual package, not an alias to a hidden folder.
  2. Inside Contents/Installers, you will find the installation packages for the various components that make up iLife. Now, here is the fun part, as some of these install fine without a version check, while others you’ll need to peel deeper into. So, we’ll begin by installing the easier items, which are listed here. Simply double click each of these listed files and run through the installers. You’ll need to supply your password when prompted.
    • AppleIntermediateCodec.pkg
    • GraphicsAppSupport.pkg
    • ImageKit_Tiger.pkg
    • iLifeMediaBrowser.pkg
    • iTunes.mpkg (optional, but probably recommended if you’re not updated)
  3. Now, for each of the following packages (which error out or have some form of version-checking themselves), we will have to install them by hand:
    • GarageBand.mpkg
    • QuartzComposerAppSupport.pkg
    • QuartzComposerQTComponentAppSupport.pkg
    • QuickTime720.pkg
    • iDVD.mpkg
    • iLife ’08.pkg
    • iLifeCookie.pkg
    • iLifeSoundEffects_Loops.pkg
    • iMovie.pkg
    • iPhoto.mpkg
    • iWeb.pkg

    To install these packages, I have a handy shell script I whipped together. This script is available here. Just make sure there is a drive called iLife ’08 Install DVD on your desktop (the type doesn’t matter) before use.

Disclaimer: (repeating from the iWork article) I’m just the bearer of my own explorations and trickery; I’m not responsible should you try and pirate the software (bad) or do something else that isn’t exactly legitimate. This is gray in and of itself because it’s skirting requirements, but I see this as a lesser evil.

I’m also not a fan of developers who say the system requirements of their packages are far higher than they actually should be, such as in this case. If I can run iLife successfully on 10.4.8€¦why shouldn’t the requirement be 10.4.8?

Explanation: (also borrowed from the other guide) Undoubtedly, someone’s going to ask how and why this crazy, convoluted method works. It’s simple, really. You see, when Apple set up the installers for the software, they coded a version check into the big one (the first package you show the contents of back in Step 2) and the iLife package (Steps 3-4), but neglected to carry this check into all of the subpackages they install, or the software itself. In this way, it makes it easy to copy them without tripping alarms or crazy error messages complaining that the OS is invalid.

Additional Notes: While coming up with the list of applications that install correctly without a version check, I attempted to install iLifeSoundEffects_Loops.pkg and came to notice that while 10.4.8 failed the version check, the error message that displays actually says that 10.4.7 or higher is required. So, whether someone simply forgot to change the text resource or the installer is actually failing I can’t accurately determine. However, I bet it’s the former only because they didn’t intend for people to be peeling apart their packages like so many layers of an onion.

I also find the requirements for the QuickTime update to be interesting. The update supports either 10.3.9 or 10.4.9 or higher, with no support for 10.4-10.4.8. May I ask why?

If you examine the shell script I put together, you’ll notice that every time I execute gzip (to decompress the Archive.pax.gz files), I have to use a complete path. This isn’t by a flaw in my design, but rather a fatal flaw in how the pax packager works. In order for it to do its job, it needs to be executed from / rather than somewhere else. So if you have problems using the script because of the path I hardcoded in, you might want to open it with a text editor with find/replace and fix it before use.

Update 4/7/2009
I realize that I haven’t gotten around to restoring the (currently-missing) script.  A reader by the name of Simon offers this alternative method for making everything work:

  1. Make hidden files visible in Finder.  (A guide is available here.)
  2. Copy the “Install Bundled Software” and the “System” folder to a folder on the hard disk.
  3. Launch the “Install Bundled Software” installer and take note of the error message you get.  In my case, the message read, “This software cannot be installed on this computer.”
  4. Right-click “Install Bundled Software” and choose “Show Package Contents.”
  5. Browse through Contents/Resources/(your_language).lproj and open the “Localizable.strings” file in TextEdit (or another editor of your choice).
  6. Search for your error message.  You should find the “hwbe_machine_message” placeholder.  (If it’s something else, take note of it.)
  7. Browse back to Contents and open “Install Bundled Software.dist” with your favorite text editor.
  8. Search for “hwbe_machine_message” (or whatever you noted in step 6).
  9. You should find a function called “hwbeInstallCheck()” that displays this error message.  This function calls “hwbeModelCheck()” to see if your model is valid.  Search for this function in the same file.
  10. In this function, you should see a loop that goes through every member of the array “SupportedMachines” and returns true if your machine is found.  If not, it returns false and triggers your error message.
  11. Change any return lines in this function that return false so that they return true instead.  Save the file.
  12. Make hidden files hidden again.
  13. Start the installer.
  14. Enjoy your newly-installed copy of iLife!