2008-03-06:
Easy Downgrading of iTunes on OSX

I needed to downgrade my version of iTunes on an OSX computer so that I could do some iPhone version downgrading. I had iTunes 7.6 on my computer and wanted to run iTunes 7.5. Turns out the Apple Installer doesn't want you to downgrade iTunes. There are some simple steps around this that don't require throwing out your entire music collection.

(You can also do the Terminal commands with the Finder)


WARNING: Many of these commands are dangerous and, if done incorrectly, or if Apple changes their installation process could damage your computer! These directions come with ABSOLUTELY NO WARRANTY. Even if it erases your hard drive, too bad. Although we did fix that bug from the last release. (Humor courtesy old release notes of DJGPP)


The steps are as follows:

  1. Get an old copy of the iTunes installer. There are archives of old installers at oldapps (for OSX) and filehippo (for Windows)
  2. Quit iTunes (if running)
  3. Kill the iTunes helper process (using Applications -> Utilities -> Activity Monitor)
  4. Move the application and library (in Terminal window):

    % sudo mv /Applications/iTunes /Applications/tmpTunes
    % sudo mv ~/Library/iTunes ~/Library/tmpTunes
    % cd /System/Library/PrivateFrameworks/
    % sudo mv MobileDevice.framework/ tmpMobileDevice.framework

    You may also need to move any other iTunes directories found in /Library or /System/Library - I didn't find any, so I didn't need to.

  5. For safety, I also moved my music, in case the "new-old" iTunes decided to wipe out the Music or the database. I only needed to use the downgraded version of iTunes temporarily, so I didn't care if it could see my music. If you want to stick with the downgraded iTunes, then maybe make a backup of this directory - and please be sure to let me know what iTunes does if you leave it behind!

    % sudo mv ~/Music ~/tmpMusic

  6. Start the iTunes installer (you'll need to quit it if it's already running and at the point where it's complaining about a newer version of iTunes already existing).

And presto, you should be able to install the lower version of iTunes!


To return to the higher version of iTunes, you can just:

  1. Quit iTunes if running
  2. Kill the iTunes helper process
  3. Replace the lower iTunes with the higher iTunes:

    % sudo rm -Rf /Applications/iTunes
    % sudo mv /Applications/tmpTunes /Applications/iTunes
    % sudo rm -Rf ~/Library/iTunes
    % sudo mv ~/Library/tmpTunes ~/Library/iTunes

  4. Replace the Music with your backup

    % sudo rm -Rf ~/Music
    % sudo mv ~/tmpMusic ~/Music


Another solution was posted by "blatny" at the macosxhints forum, which would probably be more useful if you were planning on keeping the downgraded iTunes:

Export your library (and to be sure - also podcasts):

  1. iTunes/File/Export Library...
  2. then click on Podcasts in the iTunes window and then go to iTunes/File/Export...

    That should do it, you will gain two small text files.

  3. Then download your beloved previous version of iTunes at:
    http://mac.oldapps.com/itunes.php

    Uninstall your current version:

  4. by deleting the /Application/iTunes.app
  5. and emptying trash

    (don't care about nagging errors while emptying, just click "Continue" ... if you're still getting some problems, search the internet for hints or try some kind of "force empty trash" included in many kinds of mac maintenance software packages (Cocktail, Xupport...).

    And install your old version:

  6. open the dmg file and proceed as usuall
  7. remove (or move somewhere to have a backup) your current library ~/Music/iTunes/iTunes Library
  8. open your old good iTunes and
  9. import the library via iTunes/File/Import

This way even my podcasts - the whole list and all the files present before the downgrade - were imported back. The only problem is that you will have to manually push the "Subscribe" button for all your podscasts.


Back to Solutions.

DaveSource.com - Dave's geek site GetDave.com - all the current Dave Pointers. MarginalHacks - I have an elegant script for that, but it's too small to fit in the margin.