• 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
Re: "downgrade", "installed", "upgrade" behavior
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "downgrade", "installed", "upgrade" behavior


  • Subject: Re: "downgrade", "installed", "upgrade" behavior
  • From: Bill Coderre <email@hidden>
  • Date: Fri, 7 Dec 2007 16:16:03 -0800

Apple considers it a Good Thing to allow an installer to install "over" itself. (IE. You install FooApp version 1.0, then you should be allowed to run the installer again. Then you install FooApp Updater 1.1, and you can then install the 1.1 updater again. It's no longer OK to install Foo App 1.0.)

This often fixes "bit rot" issues. ("Bit Rot" is a catchall phrase that refers to many different ways in which applications get corrupted. Files sometimes disappear or get corrupted, or get their owner/group/permissions screwed up, etc. Emphasis on "etc" -- if you have an app that includes a few tens of thousands of files, there's a LOT of things to check.)

Yes, this is sometimes a "waste" of user time. But it, in general, does not cost any disk space, and it might fix a crash.

Note that this means you might have to be more clever about upgrade preflight/postflight scripts. For instance, if your FooApp 1.0 has a certain config file, and 1.1 requires a different format of config file, and for some reason it's totally out of the question for FooApp to do the config migration during launch, and you installer is forced to do the migration, you might have to be careful not to replace the migrated file with another copy, etc etc etc.

Still, Apple does this for its installers, and I think you can see why, and therefore I'd suggest you do it too.

The general answer to "how can I decide if this installation is an upgrade, a re-install, a fresh install, or a downgrade" is, "write your own code." Sorry, but you probably have a better idea how to do this than the Installer, anyway.
_______________________________________________
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: "downgrade", "installed", "upgrade" behavior
      • From: Joakim Nyström <email@hidden>
References: 
 >Re: "downgrade", "installed", "upgrade" behavior (From: Stéphane Sudre <email@hidden>)

  • Prev by Date: The dmgs of wrath
  • Next by Date: Re: Create / install to locations in the user folder with PackageMaker
  • Previous by thread: Re: "downgrade", "installed", "upgrade" behavior
  • Next by thread: Re: "downgrade", "installed", "upgrade" behavior
  • Index(es):
    • Date
    • Thread