After Apple released their ProApps education bundle, I had a lab of iMacs that needed to be upgraded to (at least) El Capitan so we could distribute those apps from the Mac App Store without an AppleID.
(Oh hey, sidenote: You can migrate that app bundle to your VPP account for managed distribution – http://www.apple.com/us-hed/shop/product/BMGE2Z/A/pro-apps-bundle-for-education)
“No problem,” I said. “We already have a self service policy for this upgrade. I’ll just make it a check-in policy and have it run after school.”
But then I got ahead of myself.
“Hmm… The DMG I’m using is for 10.11.2. I should really update that.”
At this point I added insult to eventual injury by overachieving.
“I mean, I could use the Sierra installer that I have already tested and know works… but are we really ready to use Sierra for student machines?”
Sometimes being cautious has its downsides…
I’m not 100% sure that the problem was caused by trying to update the El Capitan DMG I was using. But, When I added the 10.11.6 El Capitan Installer.app to Casper admin, I was prompted if I wanted to replace the older installer. I opted not to, and perhaps that’s where things got messy.
This is roughly how it went:
- Downloaded up-to-date El Capitan Installer from App Store
- Copied Installer to Distribution Point via Casper Admin
- Update policies with new cache and install DMG actions
- Wait for installer to run
“Huh. Looks like my policies aren’t working…”
Caching El Capitan Installer...
Can’t verify package
“Okay… maybe it was a bad package. I’ll grab it from the store again.”
Blessing in-place OS upgrade directory...
/OS X Install Data is not a directory
“…”
“Okay… Let’s try the old installer out again?”
Blessing in-place OS upgrade directory...
/OS X Install Data is not a directory
“How about using createOSXinstallPkg https://github.com/munki/createOSXinstallPkg? Oh, hey! It actually rebooted I guess we’re home fr—”
“Balls. Okay. Okay… Ah! I have a version of the createOSXinstalPkg that I used for 10.6 machines in DeployStudio. I know that one works! Take that weird issue controlling my life today!”
“Listen here you little punk. Here’s what we’re gonna do. We’re just going to skip this whole ‘El Capitan’ thing. I get it: I should have just gone to Sierra. It’s new. It’s here, and it works fine. So, we’re just going to turn my self service upgrade into a checkin policy, and I don’t want any weird stuff. I don’t want any zombie Installer Media problems, I don’t want to turn into Installer Media myself. Got it?”
So, obviously at this point, there’s some bad Installer media that’s not getting cleared out. Maybe a restart is supposed to clear it out, but boy would it be helpful if Apple would give you a bit more of a clue as to what and where this Installation Media business is—or, I don’t know… delete the bad media?
“Well damn. I can’t really wipe these computers at this point in the year—likely too many local video projects stored… Maybe a JAMF user’s got this covered on JamfNation.”
“Huh… Nothing. Maybe I’ll check the post-install script from the createOSXinstalPkg…”
“Hmm… If only there was a way to see what’s being written when the system gets the in-place upgrade installer setup…”
“I love you.”
Sometimes it amazes me how long it takes me to run around like a chicken with my head cut off before I just run a Composer snapshot to figure out what’s actually happening. With the snapshot in hand, this is what my—now defunct—El Capitan Installer was installing:
Well, that explains “/OS X Install Data is not a directory”.
And this is what the working Sierra Installer installed:
All I needed to do was delete those files:
#!/bin/bash
rm /AppleDiagnostics*
rm /BaseSystem*
rm -R /Packages
And now, finally, with the bad “macOS or OS X Installation Media” removed, I was able to install from a known-working installer.