recommendation for a tool we desperately need...


while composer is great for capturing what's been added to a mac, we also need a tool to detect what's been REMOVED. i know of no such tool. just curious if you do.

if so, please let me know what it is.



Contributor III

What do you mean by what needs to be removed? Composer can make a removal script if you do a standard capture. Just do the capture, then right click on one of the folders (sorry, at home and I don't have Composer here) and you can select an option to make a deleted items script (or something like that).

Is that what you are talking about?

Another option would be to get fseventer to see what files were removed and create your own.



some installations delete previously installed files. i want to be able to track what's been deleted from the computer during any installation of any software as much as i'd like to be able to track what's been installed.


interesting discovery: using text wrangler, i can drag and drop entire /Library or /System directory into an open text wrangler window and the program will break down everything in every directory in tabbed, easy-to-read format. didn't know that. check it out:

external image link

i could create a before & after file and then use text wrangler to compare them for additions/subtractions. but that still seems like a lot of work.

Contributor III

I think this is what ctangora is referring to:
1. Do your snapshot.
2. Click the toggle next to your package to show detailed information.
3. Expand the "Snapshots" folder
4. Click the "Deleted Files" section. This will show you all the deleted files.
5. To auto-add a script that deletes those files, right-click on "Deleted Files" and add a postflight perl/shell script.

Note: If you add a script, you must "Build as PKG" to get it to remove those files.

Contributor III

sounds like you want radmind or a similar tripwire:

or apple needs to devise a better package management scheme.

or you may be better served by not using casper and related tools to track such things.

or all of the above…

Legendary Contributor III

In general, if any installer I come across has some logic or scripts in it that attempt to remove previous versions, unless there is a good reason not to do so, I just upload the .pkg or .mpkg as is to Casper. Don't reinvent the wheel. If it already is doing this stuff, why recapture it in Composer with a snapshot?

If the installer you're referring to is distributed as an .app and not a package, well, first off, complain at the developer, since really developers need to stop coming up with inane custom installation schemes that don't adhere to the standard.
Since that probably won't yield immediate results, you can try seeing if the .app bundle has some embedded packages within it you can extract, along the lines of Adobe's always favorite FlashPlayer app installer, or if that's not an option, use the method Josh_S outlines with the Composer snapshot and deleted files.

The upshot here is, try not to use snapshots if possible, because for as good as Composer is at capturing what's changed, its not perfect by any means, Stuff can get overlooked, and in some cases it may capture changes you didn't intend to.

Valued Contributor III

If you are wanting to replace say some deleted files from a given package that get deleted for whatever reason (even by an installer that the user ran, I can recommend the Self Healing function of Casper. Basically how it takes an indexed package and when a file (from that machine) is removed from a machine that has the package installed, you can set a policy to reinstall that entire package or that file or whatever you want that policy to do. Hope it helps...check out page 131 of the Casper Suite Administrator's Guide and see if that is the functionality you seek.


mm2270: i don't equate "knowing what - if anything - gets uninstalled" with "re-inventing the wheel". i like to know how the logic of how all my installations work so i can do my job better or engineering proper solutions.

blackholemac: not trying to recreate something that's been deleted by thanks for that cool suggestion
josh_s: thank you, this is something i can try to leverage