5

I've been tasked with supporting a print shop using Kodak Prinergy 6.1, which is ancient. I need to install it on a new machine. The problem is that the installer has a bug where it compares OS versions lexicographically, so it doesn't grok that 10.13 is newer than the required minimum of 10.4.

Is there a way I can trick the installer into thinking I'm running 10.9?

9
  • Are you sure the software even runs on Intel? Is the installer an .app or a .pkg?
    – nohillside
    Jan 5, 2018 at 18:11
  • @patrix The app is known to work on machines that were upgraded to 10.10+. It just won't install on them. Jan 5, 2018 at 18:12
  • Good :-) .app or .pkg, or something else?
    – nohillside
    Jan 5, 2018 at 18:13
  • @patrix It's an .app. Jan 5, 2018 at 18:15
  • Tried finding & just copying all the components over? I've had that work before, for dodgy old unsupported stuff [50/50 success rate]
    – Tetsujin
    Jan 5, 2018 at 18:20

1 Answer 1

4

Assuming that it's not baked into the installer, you can edit the version requirements for the app bundle.

Right click the app, hit Show Package Contents and open Info.plist. Look for a LSMinimumSystemVersion key, then change the value to your version of macOS.

enter image description here

You can also use Xcode's visual editor

enter image description here

It's possible you may need to do some more work though.

NSBundle and CFBundle aggressively cache the contents of application bundles to improve performance. Although you edited the Info.plist, the Finder and Launch Services don't yet know that the application is any different.

Running the following command in Terminal to touch the application bundle will force the Finder (and Launch Services) to re-register the application, thereby noticing the changes you made to the Info.plist:

touch "/Applications/My Cool App.app"

After running that, deselect the application, then reselect it in the Finder, and then try launching it.

Note that this won't necessarily guarantee that you'll be able to launch the app.

In the case that it's baked into the app more deeply, you can edit your macOS version at a system level. Note you'll also need to disable SIP if you haven't already.

  1. Boot in single user mode (hold down s during boot)

  2. Make file system readable:

    /sbin/mount -wu /

  3. Go the /System/Library/CoreServices directory:

    cd /System/Library/CoreServices

  4. Edit SystemVersion.plist

    nano SystemVersion.plist

  5. Change the version strings (note that there may be two of these in the .plist), e.g.


<?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>14E46</string>
        <key>ProductCopyright</key>
        <string>1983-2015 Apple Inc.</string>
        <key>ProductName</key>
        <string>Mac OS X</string>
        <key>ProductUserVisibleVersion</key>
        <string>10.10.4</string>                // <<<
        <key>ProductVersion</key>
        <string>10.10.4</string>                // <<<
</dict>
</plist>
  1. Save and exit (Control-OControl-X)

  2. Reboot:

    reboot

2
  • In this case the bug is baked into the installer. (It uses an old version of InstallAnywhere.) I haven't had a chance to try your second suggestion yet, but I'm accepting this answer because it seems very thorough. Jan 10, 2018 at 17:24
  • Go ahead and try it and let me know what happens, I'll be happy to help!
    – JMY1000
    Jan 10, 2018 at 19:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .