Re: Tiger’s Installer deletes files during an update
Re: Tiger’s Installer deletes files during an update
- Subject: Re: Tiger’s Installer deletes files during an update
- From: Jens Adam <email@hidden>
- Date: Wed, 11 May 2005 11:39:42 +0200
Christopher,
thanks for replying quickly. Unfortunately, your answer contradicts my
findings.
I combined several package into a meta package to install an
application. Later, I made an updater, again combined *.pkg in a
*.mpkg. The updater contains changed and new items only.
The Installer has always obsoleted files that were in the old package
but not the new package, that is how upgrades work.
As I wrote in my original message, my updater works in pre-Tiger system
versions. That is, items are replaced and added but no item is removed
because it is erroneously considered obsolete.
It worked in the past with Jaguar and Panther, I verified it today with
OS X 10.3.9. The removal happens only with the Tiger installer, so
something must have changed.
There is no real support for an "updater" package, the only way to do
it (and the way Apple does it for Software Updates, unfortunately) is
to change the name of the package (for Panther) and the bundle
identifier of the package (for Tiger). Note that previous to Tiger,
the name of the package is what what made two packages the same (for
upgrade behavior).
The name matching was what I guessed. But the pre-Tiger installers did
not remove items.
As of Tiger, the Installer uses the bundle identifier. To be
compatible with old packages which may not have expected the bundle
identifier to be used, the name is also consulted if there are more
then one package installed with the same bundle identifier (and if
there is no bundle identifier).
This irritates me even more. My packages have the same name but
different bundle identifiers. According to your explanation, the
different identifiers should prevent Tiger from even looking at the
package name.
For most software projects, this automatic upgrade behavior is what
they what, so it is the default behavior.
Can I overwrite the default behaviour?
Chris
This worked well on pre-Tiger systems. If the Installer shipped with
Tiger is used for the update, all files installed by the original
package but not contained in the update package are deleted. The
application is completely ruined.
The installer log of the updater contains lines talking about the
removal of obsolete files. Who decides which files are obsolete?
Shouldn’t that be the package author?
Is it possible to prevent this kind of damage by other means than
* putting everything into an updater, thus making it a full installer?
* changing package names, thus damaging the idea of receipts?
Please let me know if you would like me to provide my packages for your
inspection.
Jens
_______________________________________________
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