Re: packagemaker update problems
Re: packagemaker update problems
- Subject: Re: packagemaker update problems
- From: Stéphane Sudre <email@hidden>
- Date: Mon, 10 Sep 2007 23:06:23 +0200
On lundi, septembre 10, 2007, at 10:08 PM, Bill Coderre wrote:
[...]
When the installer is going to install, it looks for a receipt with
the same name as the current package about to be installed.
If there is none, it installs the files in the BOM (if there's a
bundle with a newer version as noted in BundleVersions.plist, it will
skip that bundle, and put a note in the log). The Install button will
be titled "Install."
If there IS a receipt with the same name, and the receipt has a
version (noted in IFMajorVersion and IFMinorVersion of the Info.plist)
that is newer than the one being installed, the installer prevents
installation with an error.
Just to be "pointilleux", AFAIK, it depends on whether the AllowRevert
flag is enabled or not in the package. I've also found that if the
package is part of a metapackage, it does not prevent installation on
10.4.10 for instance, it just marks the package as being skipped.
If not, the installer goes into "upgrade mode." The Install button
will be titled "Upgrade." Also, the installer will find all the
files/bundles in the receipt that are not in the package being
installed, and "obsolete" them (delete them) during installation.
So the name you choose is particularly important.
And here's my policy on installer names and IDs.
If an installer contains the complete software package, I call it a
"full installer" and give it a name like iMovie.pkg.
If an installer contains a partial set of software, I call it an
"update installer" and give it a name like iMovie_701.pkg.
At the risk of offending people by saying this is a "good" scheme,
let's just say it seems to work OK for me. Note that if there ARE
files to be gotten rid of, I have to do that with an additional
script. But I have a script to do that, and the list is simple enough
to generate during build.
Hope This Helps.
Hmm, I might be terribly cautious but when doing an updater (updater
installer), I also change the CFBundleIdentifier. In the case I'm
thinking about, I append a ".updater." to the CFBundleIdentifier.
With both the package name and CFBundleIdentifier name changed, I tend
to believe Installer.app will not think that this is the same product.
My €0.02
_______________________________________________
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