• 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: Two Versions of the Same OS X App in One Unified Installer
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Two Versions of the Same OS X App in One Unified Installer


  • Subject: Re: Two Versions of the Same OS X App in One Unified Installer
  • From: Chris Hanson <email@hidden>
  • Date: Mon, 26 Dec 2011 12:54:41 -0800

The primary solution to this is to not create different applications for different OS versions. Instead you use conditional code and weak linking within the application to only use features from the newer operating systems when running on them.

This has been the standard way to develop consumer applications for over 20 years; I believe the Gestalt() API was introduced with System 6, and there were ways of getting the OS version prior to that as well.

  -- Chris

On Dec 22, 2011, at 4:41 PM, Rich Nistuk <email@hidden> wrote:

Thank you for pointing that out! I will need to bring this up with the team.

On Thu, Dec 22, 2011 at 12:43 PM, Ryan McGann <email@hidden> wrote:
What happens if the user upgrades their machine from 10.6 to 10.7, after your (10.6) app is installed? You'll need to handle that scenario, gracefully I might add.

-- Ryan

> Date: Thu, 22 Dec 2011 10:44:25 -0800
> From: Rich Nistuk <email@hidden>
> Subject: Two Versions of the Same OS X App in One Unified Installer
> To: email@hidden
> Message-ID:
>    <CAKmfrMN4pO9tLM0k1NRvxwNQGtg6DVF1J-3O=email@hidden>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello,
>
> We have two versions of the same OS X application. One version is compiled
> for OS X 10.7 and will not work on other versions of OS X. The other
> version of our application is compiled for OS X 10.4 to 10.6 and will not
> work on OS X 10.7.
>
> We currently ship two installers, however, we'd like to have one unified
> installer that identifies the target OS and installs the appropriate bundle.
>
> Identifying the OS is easy, it's the choosing of the correct version of the
> application to install that is not.
>
> We're using Iceberg, and I've investigated using Packages and Vise-X but
> can't figure out a way to do accomplish the goal. (I think there is a hacky
> way or tricking Vise-X to do it... if it works I'll update this question.)
>
> Here is how we would like the installer to work
>
>   - user executes installer
>   - installer identifies the version of OS X
>   - if the target is OS X 10.4 to 10.6 install version 1 of the application
>   - else if the target is OS X 10.7 choose version 2 of the application
>
> Is there a way of doing this with Iceberg or Packages? Can you point me at
> an appropriate tutorial or give me the hint that I'm missing?
>
> Alternatively, can you recommend an existing installer tool that does this?
>
> Thank You.
>
>
> Note: I have also posted this question on stackoverflow:
> http://bit.ly/vt4NpD
> <http://stackoverflow.com/questions/8607967/two-versions-of-the-same-os-x-app-in-one-unified-installer>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://lists.apple.com/pipermail/installer-dev/attachments/20111222/7b4e09e4/attachment.html
>
> ------------------------------
>
> Message: 2
> Date: Thu, 22 Dec 2011 11:03:23 -0800
> From: Howard Moon <email@hidden>
> Subject: Re: Two Versions of the Same OS X App in One Unified
>    Installer
> To: Installer-Dev mailing-list <email@hidden>
> Message-ID: <email@hidden">email@hidden>
> Content-Type: text/plain; charset="us-ascii"
>
> Hi Rich,
>
>    in Iceberg, add a component for each version of the application.  Then, for each component, select the Scripts page.  There should be a Requirements section there.  Click the + button below that box to add an installation requirement for the component.  In the dialog that opens for that, make sure that Level is set to Requires (the default, I think). Then set the Specification to Gestalt, and its selector to sys2 (which is the system *minor* version... the '6' in 10.6.8, for example).  For the 10.4-10.6 version, set it to "smaller than" 7, and for the 10.7 version, set it to "greater than or equal to" 7.  (I haven't used it, so I don't know if quotes are required around the 7 in the box there, but you can experiment and see.)
>
>    Hope this helps!
>
> Regards,
>    Howard
>
> On Dec 22, 2011, at 10:44 AM, Rich Nistuk wrote:
>
>> Hello,
>>
>> We have two versions of the same OS X application. One version is compiled for OS X 10.7 and will not work on other versions of OS X. The other version of our application is compiled for OS X 10.4 to 10.6 and will not work on OS X 10.7.
>>
>> We currently ship two installers, however, we'd like to have one unified installer that identifies the target OS and installs the appropriate bundle.
>>
>> Identifying the OS is easy, it's the choosing of the correct version of the application to install that is not.
>>
>> We're using Iceberg, and I've investigated using Packages and Vise-X but can't figure out a way to do accomplish the goal. (I think there is a hacky way or tricking Vise-X to do it... if it works I'll update this question.)
>>
>> Here is how we would like the installer to work
>>
>> user executes installer
>> installer identifies the version of OS X
>> if the target is OS X 10.4 to 10.6 install version 1 of the application
>> else if the target is OS X 10.7 choose version 2 of the application
>> Is there a way of doing this with Iceberg or Packages? Can you point me at an appropriate tutorial or give me the hint that I'm missing?
>>
>> Alternatively, can you recommend an existing installer tool that does this?
>>
>> Thank You.
>>
>>
>>
>> Note: I have also posted this question on stackoverflow: http://bit.ly/vt4NpD
>>
>> _______________________________________________
>> 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
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://lists.apple.com/pipermail/installer-dev/attachments/20111222/b3cb999d/attachment.html
>
> ------------------------------
>
> _______________________________________________
> Installer-dev mailing list
> email@hidden
> http://lists.apple.com/mailman/listinfo/installer-dev
>
>
> End of Installer-dev Digest, Vol 88, Issue 12
> *********************************************

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: 
 >Re: Two Versions of the Same OS X App in One Unified Installer (From: Ryan McGann <email@hidden>)
 >Re: Two Versions of the Same OS X App in One Unified Installer (From: Rich Nistuk <email@hidden>)

  • Prev by Date: Re: Two Versions of the Same OS X App in One Unified Installer
  • Previous by thread: Re: Two Versions of the Same OS X App in One Unified Installer
  • Index(es):
    • Date
    • Thread