• 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
Installer documentation starting points
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Installer documentation starting points


  • Subject: Installer documentation starting points
  • From: Bill Coderre <email@hidden>
  • Date: Tue, 19 May 2009 10:59:39 -0700


On May 19, 2009, at 4:01 AM, soubhagya ranjan nayak wrote:
I am new to Mac and creating installation packages as well.
Inside every package directory, there is an info.plist file. I think the contents of the info.plist file is used by the installer application during installation. So we can change the behavior of an installation by manipulating the info.plist file. Please correct me if I am wrong.
I want to get the documentation of the info.plist file to know the significance of each entry and what entries are allowed. It would be of great help.

A hint to put things in perspective:
Mac OS X Installer is a special app that lives on the user's hard drive. In general, it gets enhancements at major releases (Cheetah, Puma, Panther, Tiger, Leopard) and bug fixes in between. There have been three major versions of the way install packages work:
• Original, "bundle-style" packages (10.0 through 10.3)
• "Distribution script" based packages (10.4)
• "Flat" packages (10.5)


Older format packages are intended to keep on installing in newer OS versions.

I think that pretty much any package authored to match the 10.1 (Puma) release SHOULD still work correctly. Apple does not absolutely guarantee this, but tries hard to maintain compatibility. After all, many users have expensive software on read-only media. Breaking those installers would be bad.

HOWEVER, newer formats have more features and bug fixes than older ones. "Distribution" packages launch more quickly than "bundle" packages, and "flat" packages can be digitally signed, making them tamper-resistant.

In general, if your software only works on 10.5.x, you should probably use a 10.5-style "flat" package to install.






To answer your question: you are mostly correct, the installer flags/ fields often control the behavior of the installer. In newer package formats, some of the entries are superseded/ignored.


Also, some of them are "private" to Apple. They are intentionally undocumented for a bunch of reasons, and Apple would like you not to use them:
• Some are only useful in Apple's Software Update setting, or are remnants of Apple's internal build process.
• Some are deprecated, broken, ignored, etc.
• Some are not fully tested, and might not always work as you think, or they might change their behavior in later OS versions.







FURTHER DOCUMENTATION

Stéphane Sudre has a very useful collection of info: http://s.sudre.free.fr/Packaging.html He does document some of the flags that Apple considers private. Please don't use private entries/flags.

Here are some documents you should read, at Apple's Developer site:
Software Delivery Guide:
http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/Introduction/Introduction.html

Package Maker User Guide:
http://developer.apple.com/documentation/DeveloperTools/Conceptual/PackageMakerUserGuide/Introduction/Introduction.html

Installer JavaScript Reference:
http://developer.apple.com/documentation/DeveloperTools/Reference/InstallerJavaScriptRef/Introduction/Introduction.html

"Distribution" definition reference (for Leopard and later packages):
http://developer.apple.com/documentation/DeveloperTools/Reference/DistributionDefinitionRef/000-Introduction/Introduction.html



_______________________________________________
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


  • Follow-Ups:
    • Re: Installer documentation starting points
      • From: Iceberg-Dev <email@hidden>
References: 
 >Details of Info.plist file in a package. (From: soubhagya ranjan nayak <email@hidden>)

  • Prev by Date: How to create an installer for GarageBand instrument packs ?
  • Next by Date: Re: Installer documentation starting points
  • Previous by thread: Details of Info.plist file in a package.
  • Next by thread: Re: Installer documentation starting points
  • Index(es):
    • Date
    • Thread