MacOS – How to circumvent the versioning system to run an outdated MacOSX application

imoviemacos

I have iMovie HD 6.03. I want it to run on Yosemite. The application icon itself has a "circle-slash-do-not-run" icon superimposed on the iMovie icon. When I double click the icon a dialog pops up saying that it can't run.

I can dig into the application package itself and run the actual compiled executable; this tells me that the application itself can run but something in the packaging is preventing iMovie from running.

How do I tweak the application packaging so that iMovie 6.0.3 can run on Yosemite? I expect to edit a plist or something.

Best Answer

If the actual executable indeed runs without problems then it looks like it is just an enforced blacklisting for whatever reason.

In the .app-bundle there is a file

/Applications/iMovie.app/Contents/Info.plist

In there you find the variable (below corresponds to v10.1.6 of iMovie):

<key>LSMinimumSystemVersion</key>
<string>10.11.2</string>

Edit this to your liking.

For the other way around, this is reported to be working:

Look in the same file for CFBundleVersion

<key>CFBundleVersion</key>
<string>6.0.4</string>

Change 6.0.3 or 6.0.4 to any other (higher) number.

Changing it to 6.0.5 seems to work fine.
You might change it to something higher than that in case Apple decides to disallow other 6.x.x numbers in the future. 10 (the current iMovie major version number, no .x.x needed) also worked just fine.