An error may exist in Apple’s latest 10.10.2 updates, where the update will not install on some systems running OS X 10.10.0 or 10.10.1. When the update is applied, either from the App Store or from manual downloads of Apple’s updaters, the installer will claim “This volume does not meet the requirements for this update” and then quit without allowing you to install the update. This will happen even when booted to Safe Mode, suggesting it is not a problem with interference from third-party software.
This problem happens because Apple includes a distribution checker in all of its updates that ensures the software is only applied over the expected versions of OS X, which in this case are 10.10.0, and 10.10.1, and not for others such as 10.9.x, or future versions of OS X (such as 10.11, or so). This distribution check is done by a small javascript function in the installation package, and it appears this check is being triggered for some Yosemite builds even though it should allow these builds to be updated.
If you are finding this problem, first be sure you have attempted updating from the App Store, then by downloading the Delta updater (for 10.10.1 users), and then attempt to download and apply the Combo updater. This last updater should be able to update any version of OS X from the first to the last; however, if none of these work for you, then you can still force the 10.10.2 installation to proceed with the Combo updater you downloaded.
Note that these steps modify the Combo updater so it will install on any version of OS X, which will result in problems if not performed on an applicable version of OS X Yosemite (ie, those between version 10.10.0 and 10.10.1). Being the Combo updater, this should fully update all versions of OS X Yosemite prior to 10.10.2; however, before using it, be sure you have a full and restorable backup of your system that you can restore to if a problem arises.
To force the Combo updater to install, perform the following steps on your Mac:
- Download the Combo updater if you have not done so already
- Mount the updater disk image and copy the .pkg file in it to your Desktop
- Open the Terminal and run the following command (copy and paste it) to expand the package:
pkgutil --expand ~/Desktop/OSXUpdCombo10.10.2.pkg ~/Desktop/modified
- Open the new folder called “modified” on your desktop, and use TextEdit to open the file called Distribution (you can right-click the file and choose Other from the Open With menu, and then select TextEdit as the program to use from your Applications folder).
- The file will have a bunch of code, so scroll down until you find the following functions:
function InstallationCheck(prefix) { if (system.compareVersions(system.version.ProductVersion, '10.10') < 0 || system.compareVersions(system.version.ProductVersion, '10.11') >= 0) { my.result.message = system.localizedStringWithFormat('ERROR_0', '10.10'); my.result.type = 'Fatal'; return false; } return true; } function VolumeCheck(prefix) { if (system.env.OS_INSTALL == 1) return true; var hasOS = system.files.fileExistsAtPath(my.target.mountpoint + "/System/Library/CoreServices/SystemVersion.plist"); if (!hasOS || system.compareVersions(my.target.systemVersion.ProductVersion, '10.10') < 0 || system.compareVersions(my.target.systemVersion.ProductVersion, '10.11') >= 0) { my.result.message = system.localizedStringWithFormat('ERROR_0', '10.10'); my.result.type = 'Fatal'; return false; } if (compareBuildVersions(my.target.systemVersion.ProductBuildVersion, '14A388a') < 0) { my.result.message = system.localizedString('ERROR_2'); my.result.type = 'Fatal'; return false; } if (compareBuildVersions(my.target.systemVersion.ProductBuildVersion, '14B24') > 0) { my.result.message = system.localizedString('ERROR_2'); my.result.type = 'Fatal'; return false; } return true; }
- In these functions, delete all of the text above listed in red, so the functions appear like the following:
function InstallationCheck(prefix) { return true; } function VolumeCheck(prefix) { return true; }
- Press Command-S to save the document, and then quit TextEdit
- Go back to the Terminal and run the following command:
pkgutil --flatten ~/Desktop/modified ~/Desktop/ComboUpdateModified.pkg
When this last command has been completed, you will see a new .pkg installer file located on your desktop called “ComboUpdateModified.pkg” that you can now open, and install on your Mac without any of the version checks being used.
Keep in mind that by removing these checks, this new package will install on systems that the update was not intended for, so be absolutely sure you are running a version of OS X that is either the release version of 10.10.0, or the release version of 10.10.1 before applying this update. If you have been using test builds of OS X, then while technically this modified combo updater should update your system in full, first double-check that you have applied all of the latest updates from Apple, and then attempt the unmodified Combo updater first, before resorting to a modified one.