Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Remove every trace of a program by reinstalling it Install
Since almost every program installs files in many different places, it can be nearly impossible to completely remove an installed application. But with Leopard's new fsevents service, which tracks all write activity to the hard drive, a user can find out where all the miscellaneous files are, thus allowing them to be removed manually.

To do this, first install fseventer, run it, and turn it on (press the Play button). Then reinstall the program you wish to remove. You'll see the tree diagram in fseventer populated with every file that's been changed. Next, open the program you just installed (since many programs create their preference files upon first launch). Then stop (press the Pause button) fseventer. Now you can follow the paths to the files and delete each of them manually for a complete uninstall. If you need to get to files in folders which Finder hides, you can choose Go » Go to Folder in the Finder.

NOTE: Be smart about choosing which files to remove, because fseventer will record all file activity that occurs while it is recording. So if any other programs or services write to the disk during that time (which is likely), those files will also show up in the fseventer tree. You will only want to remove the files which make sense to be associated with the program you would like to uninstall.

[robg adds: fsevents was added in 10.4 to support Spotlight; I believe it was modified in 10.5 to help Time Machine do its job. fseventer will run on either 10.4 or 10.5, so this hint should work in either of those versions.]
    •    
  • Currently 1.63 / 5
  You rated: 5 / 5 (8 votes cast)
 
[17,030 views]  

Remove every trace of a program by reinstalling it | 16 comments | Create New Account
Click here to return to the 'Remove every trace of a program by reinstalling it' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Remove every trace of a program by reinstalling it
Authored by: joab on Jul 09, '08 07:59:31AM

If the program is delivered in a .pkg you can also press cmd+i to show all files that will be installed.



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: corienti on Jul 09, '08 08:29:47AM

But that won't let you know about files the app creates when it first runs...

This is a good tip; I've used this precise technique myself in the past on sneaky apps.



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: Black on Jul 09, '08 08:43:40AM

Really? I've never seen any evidence that Cmd+i lists the files that are going to be installed, and it certainly doesn't for any of the .pkg files that I have lying around. What packages have you seen this work for and where in the info panel does it appear?



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: fracai on Jul 09, '08 08:47:47AM

I assume this is another way to bring up the "File Install" list available from within the Package Installer.

---
i am jack's amusing sig file



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: corienti on Jul 09, '08 09:21:00AM

In Installer.app, command-I (or File -> Show Files) brings up a tree-style of files that will be installed. It only works for .pkg or .mpkg installations.

However, that naturally can't show you files that the app creates the first time you start it.

Incidentally, my comment about this being a good hint was referring to the original hint, using fseventer - not the Cmd-I way.




[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: Phosphor on Jul 09, '08 09:32:45AM
Interesting that this should come up this morning. Just yesterday I wrote a blog entry about a troubleshooting feature I wished was built into OS X.

This "fseventer" isn't exactly what I am wishing for, but it looks like a really good utility to have in the "Troubleshooting, Maintenance & Repair" toolbox.

[ Reply to This | # ]

Use filters to narrow fseventer's display
Authored by: berdan on Jul 09, '08 10:24:20AM

Regarding the "fseventer will record all file activity" part: use a filter in fseventer to select what it should track. You could filter per process (e.g. the installer process or the program itself on the first run) or perhaps per fsevents (e.g. file and directory creation).



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: robdew on Jul 09, '08 11:42:41AM

This is a very nice hint and VERY cool tool, but the premise is wrong. Not every installer will change every file during an installation, and many applications generate files only after they've been launched.



[ Reply to This | # ]
Find out which files have been added/changed/deleted
Authored by: BryanD on Jul 09, '08 12:21:07PM
While it's not been updated to use fsevents (which means that it requires a scan of your files before 'n after installation), you can use FileControl (free) to determine which files have been added/changed/deleted over a period of time. Some basic filtering (by time ranges and names) of the reported results can also help narrow in on things. As one respondent indicated, it's one more tool that can be useful.

[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: lbundle on Jul 09, '08 12:45:32PM

I'm not on my mac right now so I can't doublecheck everything, but there is a better way.

Every time you install an app a .bom (bill of materials) file is created. Its location is (off the top of my head) /Library/Receipts/<App_name>.pkg/Contents/Archive.bom. From the commandline you can issue the command:

lsbom /Library/Receipts/<App_name>.pkg/Contents/Archive.bom

(lsbom is 'ls' for .bom files)

This should list all the files that are installed for that app. You can then go at your leisure and remove them. I think the lsbom method is safer because it is the 'official' list. With the method above, the OS might list files not connected with that app.



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: Peganthyrus on Jul 09, '08 03:18:42PM

Looking at the .bom only works for stuff that goes through the system installer; most custom installers don't seem to leave a log anywhere consistent, if at all.

So if you wanna destroy every trace of what, say, Adobe's hideous installer did to your system, this hint would be a good place to start.



[ Reply to This | # ]
File menu of installer
Authored by: ajmas on Jul 09, '08 03:52:32PM

Another approach is to select the 'Files' menu item of the installer. This will list what files are to be installed.



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: Anonymous on Jul 09, '08 04:16:34PM

I think this just shows how badly we need package management in OS X.



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: mario_grgic on Jul 09, '08 05:34:33PM

lsbom is helpful but I would not just delete every file it lists.
What I normally do, is execute

sudo find / -ctime 0 2>/dev/null

or

sudo find / -Btime 0 2>/dev/null

to find files that have changed after the installer was run. Then I save this for future reference, if I ever need to remove something manually.

But since it is so easy to clone a mac system drive, you could do that, boot and install something on the clone, test it and if you like it install it on the system drive. If not, nuke the clone or make a new one :D



[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: vansie on Jul 12, '08 07:18:29PM
As I have to maintain several install images for Macs that are employed to end users, I tend to use the very reliable combination of logGen to record differences pre- and post-install of a given app feeding into pkgGen to build installer packages of apps that are not distributed as such. Instead of poking through fseventer output, I would highly recommend taking a look at logGen to sniff out all files and folders related to the app you wish to remove:

http://www.lsa.umich.edu/lsait/admin/mac/software/index.asp

-v-

[ Reply to This | # ]
Remove every trace of a program by reinstalling it
Authored by: BY1 on Sep 17, '08 12:00:01AM
Another program which I have used for some time (since Panther days) is Uninstaller.
It takes a files snapshot of your (specified disk or location), then you install whatever, and take a second snapshot and it compares and shows all changes (based on file date stamp changes). As with the other tool mentioned, it will show all changes including plenty of non-related changes, so must be aware.
http://macmagna.free.fr/Uninstaller/
Runs in the OS X Finder/GUI so may be better for non command-liners.
Nominal shareware fee.

---
~ 'the Universe is intelligent, friendly -- and miraculous...'

[ Reply to This | # ]