Installer documentation starting points
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