• 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: Making an uninstaller
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making an uninstaller


  • Subject: Re: Making an uninstaller
  • From: Andrew Merenbach <email@hidden>
  • Date: Sat, 6 Jun 2009 14:31:14 -0700

On Jun 6, 2009, at 12:59 AM, Bill Coderre wrote:

On Jun 5, 2009, at 11:45 PM, Andrew Merenbach wrote:
On Jun 5, 2009, at 9:20 PM, Patrick Gallagher wrote:
On Sun, May 17, 2009 at 11:26 PM, Andrew Merenbach <email@hidden> wrote:
Thanks for your response.  Looks like I didn't miss anything, then, save for some of those discussions you mention (I recall seeing some a long while ago, but ironically I had thought I'd recalled seeing someone mention more recent versions of PackageMaker being used for making uninstallers--guess I was wrong!!!).

I suppose, then, that I'll have to include a Perl script with my distributions for uninstallation, à la Apple's Developer Tools.

LANRev's Installease can make an uninstaller by looking at the contents of an existing package. It basically just compiles a list of the files and lists them in a postflight script that gets added to a payload-less package. 

Interesting!  Thanks for digging that up.  That's the sort of system about whose existence I was wondering.  From the replies that I received, however, it sounds as though such methods are not in widespread use on the Mac side.  I was never a fan of the need for uninstallers on Windows, but after receiving e-mails from users asking me how to get rid of files that my programs have installed, I realize that it'd be a little less cruel to give them a double-clickable item than to make them go into Terminal and type commands, or even to run a shell script.


<!-- snip -->


Therefore the best solution at this time is to have the programmer write a remover script. These scripts can usually be just a few lines, since you don't have to delete every file individually -- you can just rm -rf entire bundles. Put the script inside some kind of double-clickable item.

You can then embed this remover inside your app, and have a menu item quit your app and /usr/bin/open the remover script. The script knows it's inside the app, so it can easily delete the app.

You are welcome to package this inside an installer script, if you wish, with the removal being done during a postflight script. This will ensure that the script has root privileges if it needs to, and that it does not run while some other installer is doing something. (Since installer scripts have to have SOME payload, install a file into /tmp.)

Ah, interesting ideas!  Thank you for the pointers!

Cheers,
Andrew

 _______________________________________________
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

References: 
 >Re: Making an uninstaller (From: Patrick Gallagher <email@hidden>)
 >Re: Making an uninstaller (From: Andrew Merenbach <email@hidden>)
 >Re: Making an uninstaller (From: Bill Coderre <email@hidden>)

  • Prev by Date: Re: Making an uninstaller
  • Next by Date: how to make patch package?
  • Previous by thread: Re: Making an uninstaller
  • Next by thread: how to make patch package?
  • Index(es):
    • Date
    • Thread