• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How do I prohibit installation based on current software version?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How do I prohibit installation based on current software version?


  • Subject: Re: How do I prohibit installation based on current software version?
  • From: Stéphane Sudre <email@hidden>
  • Date: Thu, 21 Sep 2006 00:16:01 +0200


On mardi, septembre 19, 2006, at 10:29 PM, Chris Waldrip wrote:

I've made an installer for some easy presets for Final Cut Pro, but they're specific to FCP5.

In Iceberg I've added a requirement in the appropriate section to require that the CFBundleVersion of /Applications/Final Cut Pro.app/Contents/Resources/AELicensingAquaPro.bundle be at least 1.2.

Looking at an install of 4.5 that seemed like a good choice since that Bundle doesn't exist (at least on the install I tested).

But when installed on a system running an earlier build of FCP 4 it didn't stop the installer.

How can I identify the version of a target application, and if that target application doesn't exist or is an incorrect/earlier version, keep the installer from running.

The Requirements section in Iceberg looks to be the perfect place, but I can't find a unique identifier for FCP5.

OK, I coded a little tool which is available at: http://s.sudre.free.fr/files/checkversion.zip


It needs to be compiled with XCode 2.3 or later and should work from 10.2.8 to 10.4.x (PPC/Intel).

Usage is:

checkappversion [-c creator] [-b bundle_identifier] [-n bundle_name] [-f default_app_path] comparator version

comparator can be >,>=,==,<=,< Just be sure to set a "" around the comparator to avoid redirecting the standard input/output.

It returns 1 if the result is OK, 0 if it's not. If the bundle does not exist or can't be found, it returns 0.

So to solve your problem, you can probably just call it like this in an InstallerCheck script:

checkappversion -f /Applications/Final Cut Pro.app/Contents/Resources/AELicensingAquaPro.bundle ">=" 1.2

It's using the LaunchServices API to locate applications (only default path will work with bundle).

Hope it helps.

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >How do I prohibit installation based on current software version? (From: Chris Waldrip <email@hidden>)

  • Prev by Date: Re: Testing for downgrade in Distribution Scripts
  • Next by Date: Re: Testing for downgrade in Distribution Scripts
  • Previous by thread: How do I prohibit installation based on current software version?
  • Next by thread: Installer Plugin sample code available on ADC site
  • Index(es):
    • Date
    • Thread