Re: Installing/distributing frameworks
Re: Installing/distributing frameworks
- Subject: Re: Installing/distributing frameworks
- From: "Erik M. Buck" <email@hidden>
- Date: Sat, 28 Jul 2001 19:15:31 -0500
Frameworks are not very susceptible to DLL hell for several reasons. One
reason is that the code and resources are stored together so they do not get
out of sync. The biggest reason is that frameworks are versioned and new
framework versions automatically install beside the old versions (in the
same wrapper) rather than replacing them. Cocoa applications store the name
of each required framework and the required version if any. Applications
have the choice of using the most recent version or any particular past
version at their discretion. Cocoa also used to respect the framework path
when searching for frameworks, but I don't know if that still works.
The REAL reason that frameworks are not commonly installed separate from the
application is the abysmal state of installer applications. Apple: What was
wrong with the old NeXT installer.app ? It could install various pieces in
various places with correct permissions. It also had GREAT uninstall
capabilities. It could tell the user which files if any would be replaced.
It left behind a bill of materials to tell administrators what was installed
where. It could run scripts.
Until OS-X installers get smart enough to detect existing frameworks,
install different pieces in different places, preserve permissions, etc. we
will be stuck with the extremely limited .dmg system. The creators of the
OS-X installer application had a booth asking for feedback at WWDC. When I
talked to them, they did not seem to understand the need for a standard full
featured installer. They were/are ONLY interested in installing Apple
products and the seemed to think they were doing 3d party developers a favor
by letting them use it at all. At the fact that OS-X's Installer.app is a
HUGE downgrade from NeXTstep's Installer.app and where does that leave us ?
http://www.stepwise.com/Articles/Technical/Packages/InstallerOnX.html
http://www.stepwise.com/Articles/Technical/2001-05-11.01.html
http://www.stepwise.com/Articles/Technical/Packages/BuildingAPackage.html
http://www.stepwise.com/Articles/Technical/2001-03-29.01.html
http://www.stepwise.com/Articles/Technical/2001-05-28.01.html