Snow Leopard; up-to-date disc version

Discussion in 'macOS' started by glossywhite, Sep 3, 2009.

  1. glossywhite macrumors 65816

    glossywhite

    Joined:
    Feb 28, 2008
    #1
    Just a quick question; I just received a SL upgrade DVD for one of my Macs, in the post, and it had the disc number: "2Z691-6557-A". I was a bit surprised that the DVD just came in a simple paper sleeve, tossed into a padded envelope with 2nd class postage.

    Is this the experience of others?. Also, is this particular upgrade DVD (with the same disc number as mine) capable of erase and install?. I don't like doing upgrades, I'd rather start fresh.

    Also, I'm currently doing an MD5 checksum on my DVD; I shall report back with the hash value, if some of you wouldn't mind comparing it with your hash value from the same DVD and also from the full retail & box set DVD.

    Thanks.

    MD5 of 27691-6557-A:

    Code:
    e4240ff044a569765dd3db3469a881c5
    PS: I don't understand why the disc number is DIFFERENT, on the inside of the spindle hole: 2Z693-7059-A :confused: (underneath - see attached macro).
     

    Attached Files:

  2. yegon macrumors 68020

    Joined:
    Oct 20, 2007
    #2
    Mine came in the same package.

    I did an erase and install, worked perfectly.

    Really weird how at no point does it appear to check for a Leopard install.
     
  3. drlunanerd macrumors 65816

    drlunanerd

    Joined:
    Feb 14, 2004
    Location:
    UK
  4. glossywhite thread starter macrumors 65816

    glossywhite

    Joined:
    Feb 28, 2008
    #4

    Indeed, I can verify that the UTD upgrade DVD (disc number: 2Z691-6557-A) *does* install a fresh OS on a *blank* drive or partition. I can only think that this is Apple trusting it's customers, which is unsurprising, and also helpful, as I dislike any kind of upgrade with regards to OS' in general.


    Someone complained to me today, that Stuffit expander doesn't work on SL. First off, who on earth uses .SIT files these days?. ZIP, RAR & .001 are all catered for by iArchiver, unRarX, MacHacher, Split & Concat and the unarchiver, but that aside - I have Stuffit expander on Snow Leopard, and it works fine.
     
  5. drlunanerd macrumors 65816

    drlunanerd

    Joined:
    Feb 14, 2004
    Location:
    UK
    #5
    No, it will not, unless on another drive or partition you happen to have a Leopard or Snow Leopard installation.

    Do this please:

    Mount your Up-To-Date DVD.
    In Finder, click Go - Go To Folder... and type /Volumes/Mac OS X Install DVD/System/Installation/CDIS/
    Right-click on "Mac OS X Installer" and click on Show Package Contents.
    In the new window go to Contents/Resources
    If there's a file called "CheckForOSX" then you have the Up-To-Date installer. This executable is what checks for an existing Leopard or Snow Leopard installation before it will allow you to install or erase the drive.

    If you don't have this file then Apple screwed up and pressed some retail DVDs with the Up-To-Date printing on them and you lucked out.
     
  6. glossywhite thread starter macrumors 65816

    glossywhite

    Joined:
    Feb 28, 2008
    #6
    Yes, it has that file:

    Code:
    #!/usr/bin/perl
    
    ########################################################
    my $TARG                = $ARGV[0];
    my $SYSTEM_VERS         = $TARG . "/System/Library/CoreServices/SystemVersion.plist";
    my $EXIT_VALUE          = 0;
    ########################################################
    
    DO_CHECKS: {
        unless (-e $SYSTEM_VERS) {
                $EXIT_VALUE = 1;
                last;
        }
            
        if (CheckVersion("$SYSTEM_VERS", "8G1165", "ProductBuildVersion", "<")) {
                $EXIT_VALUE = 1;
                last;
        }
    
        unless(SystemPaths($TARG)) {
                $EXIT_VALUE = 1;
                last;
        }
    }
    
    exit($EXIT_VALUE);
    
    ########################################################
    
    sub SystemPaths {
    	my $targ = shift();
    
    	while(<DATA>) {
    		chomp();
    		if($_ eq "") {
    			next;
    		}
    		-e($targ . $_) || return(0);
    	}
    	return(1);
    }
    
    sub CheckVersion {
        my $path            = $_[0];
        my $version         = $_[1];
        my $keyName         = $_[2];
        my $operator        = $_[3];
    
        if (! -e $path) {
            return 0;
        }
    
        if (!$operator) {
            $operator = "==";
        }
    
        my $oldSeperator = $/;
        $/ = \0;
    
        open( PLIST, "$path") || do {
            return 0;
        };
    
        $plistData = <PLIST>;
        $plistData =~ /<dict>(.*?)<\/dict>/gis;
    
        @items = split(/<key>/, $plistData);
    
        shift @items;
        foreach $item (@items) {
            $item =~ /(.*?)<\/key>.*?<string>(.*?)<\/string>/gis;
            $versiondata{ $1 } = $2;
        }
    
        close(PLIST);
    
        $/ = $oldSeperator;
    
        # ProductBuildVersion style keys
        $versiondata{$keyName} =~ /(\d+)([A-Z])(\d+)/ && ($versiondata{$keyName} = "$1.".ord($2).".$3");
        $version =~ /(\d+)([A-Z])(\d+)/ && ($version = "$1.".ord($2).".$3");
    
        @theVersionArray = split(/\./, $versiondata{$keyName});
        for ($i = 0; $i < 3; $i++) {
            if(!$theVersionArray[$i]) {
                $theVersionArray[$i] = '0';
            }
        }
    
        @versionArray = split(/\./, $version);
        
        my $actualVersion;
    
        for ($i = 0; $i < 3; $i++) {
            if (($theVersionArray[$i] != $versionArray[$i]) or ($i == 2)) {
    
                $actualVersion = $theVersionArray[$i];
                $version = $versionArray[$i];
    
                last;
            }
        }
    
        my $expression = '$actualVersion ' . $operator . ' $version';
        if( eval ($expression) )
        {
            return 1;
        }
        else
        {
            return 0;
        }
    
    }
    
    __DATA__
    /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock
    /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
    /System/Library/CoreServices/Automator Launcher.app/Contents/MacOS/Automator Launcher
    /System/Library/CoreServices/Certificate Assistant.app/Contents/MacOS/Certificate Assistant
    /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
    /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow
    /System/Library/CoreServices/Network Setup Assistant.app/Contents/MacOS/Network Setup Assistant
    /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent
    /System/Library/CoreServices/SecurityAgent.app/Contents/MacOS/SecurityAgent
    /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer
    /System/Library/PrivateFrameworks/ProKit.framework
    /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine
    /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/Resources/ExtraPatches.plugin/Contents/MacOS/ExtraPatches
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/Resources/SpeechSynthesisServer.app/Contents/MacOS/SpeechSynthesisServer
    
    So what you're saying, is that it checks for an existing Leopard system on ANY partition I have??. I don't care too much, as all I shall do is clone the UTD DVD to a partition, and then delete the CheckForOSX file from the installer package. I'm doing nothing morally wrong, seeing as I own the Mac which qualifies for the update, AND I own a Leopard licence which came with it.

    There are a million ways around this; I could install Leopard, fresh onto my Mac form the supplied restore DVDs, and then clone it across to an external drive, then wipe my Mac mini drive, and install Snow Leopard onto it, because the EXTERNAL with the clone of LEOPARD, would qualify my system!. Failing that, I'd just rip out the CheckForOSX file, after having cloned the DVD to external. This discussion is futile, however, as I am a LEGAL and entitled SL licence holder, so I shall go about the install however I wish. :)


    I love PLIST files :D
     

    Attached Files:

  7. drlunanerd macrumors 65816

    drlunanerd

    Joined:
    Feb 14, 2004
    Location:
    UK
    #7
    Bingo.

    Apple have been pulling this CheckForOSX stuff since the free 10.1 "upgrade" back in 2001. Peeps found out if you deleted that file it turned it into a full install disc.
     
  8. mickbab macrumors 65816

    mickbab

    Joined:
    Sep 13, 2008
    Location:
    Sydney, Australia
    #8
    Wait...
    Mac OS X 11.6???
     

    Attached Files:

  9. glossywhite thread starter macrumors 65816

    glossywhite

    Joined:
    Feb 28, 2008
    #9
    Yep, 11.6:

    FIND: /System/Library/CoreServices/SystemVersion.plist

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>ProductBuildVersion</key>
    	<string>11A654</string>
    	<key>ProductCopyright</key>
    	<string>1983-2009 Apple Inc.</string>
    	<key>ProductName</key>
    	<string>Mac OS X</string>
    	<key>ProductUserVisibleVersion</key>
    	<string>11.6</string>
    	<key>ProductVersion</key>
    	<string>11.6</string>
    </dict>
    </plist>
    
     
  10. mickbab macrumors 65816

    mickbab

    Joined:
    Sep 13, 2008
    Location:
    Sydney, Australia
  11. glossywhite thread starter macrumors 65816

    glossywhite

    Joined:
    Feb 28, 2008
    #11
    You can see from the source code that I quoted, that I edited the .plist to FAKE the 11.6 on "About this Mac". That file tells the system what to display :)
     
  12. mickbab macrumors 65816

    mickbab

    Joined:
    Sep 13, 2008
    Location:
    Sydney, Australia
    #12
    Oh okay I get it now :rolleyes:
     

Share This Page