Description & FAQ

DesInstaller is a rather simple tool. It was designed to be used without any documentation, but since it may be a dangerous tool, i wrote it down.

What is it?
Well, as its name may suggest, DesInstaller removes installed packages. For now, it only works with Apple's "pkg" files, but that may change in the future.

How much does it cost?
Nothing. This is charityware and cardware. You can send me anything you want.

Does this mean it's OpenSource?
Nope. It is not open source right now, though it may be in the future. Still, if you need some help on a piece of code, i would be delighted to help.

Is it safe?
It depends... I use it to uninstall stuff, but it's rather easy to click somewhere while you wanted to click elsewhere, so be careful. Anyway, you will need to enter your admin password to use it, and you can save a reinstaller.

Don't you think it should be included in the OS?
As a matter of fact I do. And I hope it will be. That's why it is freeware, and why I hope Apple engineers will incorporate it within MacOS X :D

What do I need?
You need a basic MacOS X system (it was not tested on MacOS X.0 but it may work. Anyway, who still uses that? ;), and that's about it. I will check, though...

Do you do cross checking?
Nope. Cross checking implies an index file of the overlapping files, which I would have to generate myself since it does not exist right now. And just imagine how long it would take...

Will you?
I don't think so. However, if someone finds a clever way to do it, I would implement it :)

Will you support other formats?
That's something I had on my mind for a long time now. But that would mean using a plugin architecture. If I get enough requests maybe...

What do I do if it doesn't work?
If you have a problem, send me an email containing:
- the version you are using
- the OS you are using
- the sequence that doesn't work (what package, the clicking order, etc...)

Who are are you?
I am a student with various job experiences. If you want a resume, send me an email

Will you make it a preference pane?
Dinna ken. I suppose I could. OK, let's put it to vote. Who is pro/con? Emails please :)

I use XXX or YYY. Why should I use this program?
Frankly I don't know. I happen to like this piece of software, that's all :)


List (1) Toggle (2) Reinstaller (3) Remove (4)    Batch (7)
Packages list (5)
Add (8) Remove (9) Launch (10)
Batch queue (11)
Contents (6)
◊ (1) "Show Packages": Queries the OS for installed packages.
◊ (2) "Reveal Contents": Toggles the files drawer.
◊ (3) "Save a Reinstaller": Creates a tgz archive and a reinstaller script before the removal.
◊ (4) "Remove from System": Starts the removing of the package.
◊ (5) "Packages" & "Overall Progress": A list of the installed packages. When clicked, checks for files in a specific package. When querying, the progress bar shows the progress of inquisitions. When removing, just showing there is activity.
(6) "Files drawer": Shows the files that have been installed in this package.
(7) "Batch Toggle": Opens/closes the batch queue drawer.
(8) "Add to batch": As it says...
(9) "Remove from batch": ditto.
(10) "Launch batch removal": Starts removing packages in the batch queue. A report will be displayed at the end of the process.
(11) "Batch queue": Packages to be removed from the system in the batch mode.

Be aware that Desinstaller is not an intelligent tool. It does not perform modification/moving tests, and removes what the OS thinks was installed.
For power users, you can add and customize the tgz archive with optional files, or whatever. I really think of creating a simple way to make archives of what you want to save, but this is not the point here: we only want to remove stuff that was installed and that is no longer needed.


  1. File:
    1. Open package: Lets you open any package or receipt, anywhere, to get the files list, save a reinstaller or remove.
    2. Change receipt root: Changes the folder to search for receipts (/Library/Receipts/ on startup)
    3. Verify package before installing: Lets you backup files that will be replaced by a package, or removing them, BEFORE you install it.
  2. Edit:
    Copy/Paste/Select All: return of the clipboard functions.
  3. Help
    Get some help here.

Further thoughts

Something very cool that could be useful would be to edit the config files of the package, and then make a reinstaller to spread the exact same package/config for a given network of computers. I have successfully used that possibility to help a few friends, and it seems to work quite well.
Looks like the verify package function will allow you to save a backup of the files that will be replaced by an updater. This was possible before, but not clear enough... It is more understandable that way.
More thoughts to come! Stay tuned

Nicolas Zinovieff (