2010-11-14

This software cannot be installed on this computer

Did you ever try using the grey installation disks that came with your new and shiny Mac to update your older Macs too? This won't work, because the Apple supplied installation discs are locked down to only work with the hardware model that they came with. However, if you are comfortable with the UNIX command line and a text editor, then it's pretty simple to unlock it. Here's how it works for Leopard.

  1. Use xar to unpack the file /System/Installation/Packages/OSInstall.mpkg from "Mac OS X Install Disc 1". From 10.5 onwards, xar is part of the base install. If you don't have it, you can get it from MacPorts.


    mkdir /tmp/unlock
    cd /tmp/unlock
    xar -xvf "/Volumes/Mac OS X Install Disc 1/System/Installation/Packages/OSInstall.mpkg"

  2. Open /tmp/unlock/Distribution in a text editor.
  3. Change function checkSupportedMachine. You can simply replace the function body from the first opening brace { to the last closing } with "return true;".

    function checkSupportedMachine() { return true; }
  4. Change function hwbeModelCheck

    function hwbeModelCheck() { return true; }
  5. Save the file and exit the editor
  6. Put the file Distribution back into the OSInstall.mpkg archive file


    cd /tmp; xar -cvf /tmp/OSInstall.mpkg *

  7. Copy /tmp/OSInstall.mpkg back onto your install DVD. Actually, this does not work of course. You have two options. Create a disk image of the DVD, replace OSInstall.mpkg with the "unlocked" version, and burn a new DVD. Alternatively, make a copy of install DVD on an external firewire disk. Place the unlocked file on your copy on the external disk and boot off it.

 

3 comments:

  1. Used Carbon Copy Cloner to make a duplicate of Mac OS X Install Image. Made changes to "Distribution", but am unable to copy OSInstall.mpkg file back to original folder (permission area is grey)

    Suggestions please :) ?

    ReplyDelete
    Replies
    1. If you get a chance to see this have you tried using the "sudo" option while in command line to make the copy happen? That usually does the trick for me when dealing with permissions issues.

      Delete
  2. What's the output put "ls -la <destination-folder>"?

    ReplyDelete