Leo, can you say anything about your test setup? What OS X version did you try this on?
I'm on 10.11.6 (15G1108)*. I tried in safe mode with the same issue (after also running Disk Utility First Aid from Recovery Disk Boot).
This page shows how to make a modified Combo installer to by-pass the volume checks. I did that and of course that doesn't refuse to install (since it's not checking the volume at all). But before I hit "go" on this, I'm terribly curious where the check failure is. The modification made essentially removes this function (abbreviated):
function VolumeCheck(prefix) {
if (system.env.OS_INSTALL == 1) return true;
var myTargetSystemVersion = (my.target.systemVersion || system.files.plistAtPath(my.target.mountpoint + "/System/Library/CoreServices/SystemVersion.plist"));
if (!myTargetSystemVersion || system.compareVersions(myTargetSystemVersion.ProductVersion, '10.11') < 0 || system.compareVersions(myTargetSystemVersion.ProductVersion, '10.12') >= 0) {
my.result.message = system.localizedStringWithFormat('ERROR_0', '10.11');
my.result.type = 'Fatal';
return false
}
return true;
Meanwhile it seems there are a bunch of system.compareVersions subroutines (function plistcheckXX) and my specific ProductBuildVersion* is not not among them. (or actually, the first one seems to disallow an abbreviated version of it?):
function PlistCheck1(prefix) {
var plist = system.files.plistAtPath(prefix + '/System/Library/CoreServices/SystemVersion.plist');
if (!plist) {
return false;
}
var plistKeyValue = plist['ProductBuildVersion'];
if (!plistKeyValue) {
return false;
}
if (system.compareVersions(plistKeyValue, '15G1') < 0) {
return false;
}
return true;
Can anyone read this JavaScript easily enough to spot the problem?