Clean Uninstall: remove add-on preferences on removal
Clean Uninstall is a brand new browser add-on for the Firefox web browser that provides you with options to remove add-on preferences from extensions that you uninstall in the browser.
One of the shortcomings of Firefox's current add-on system is that preferences that extensions create during installation are not removed when you uninstall those add-ons in the browser.
This is similar to how things are on Windows systems, where the native uninstall routines of software often leaves traces behind in form of files, folders and Registry keys.
There are ways to clean these unused or invalid preferences in Firefox, and we have described how you can do that manually either by editing the prefs.js file directly in the Firefox profile folder, or by resetting preferences on about:config to get them removed (if unused).
Several add-ons were created throughout the years to assist Firefox users in the task. There is Preferences Monitor, which monitors about:config for changes and notifies you about them, and lets you remove preferences that are no longer used.
Clean Uninstall is a new extension that offers similar functionality.
What sets it apart is that it will automatically scan the Firefox preferences file when you hit the remove button to uninstall a Firefox add-on to display the preferences of the removed add-on.
The preferences are listed directly in the browser window, each with its name and options to remove all, some or none of the items from the browser.
All selected items are deleted from Firefox's prefs.js file which holds these preferences when you hit the "remove selected items" button in the interface.
The extension did well during tests and removed all preferences associated with add-ons that I uninstalled from a Firefox test installation. I verified this by checking for traces of the extension using about:config and prefs.js directly.
Clean Uninstall ships with a second option that complements the first: to display branches in the preferences and associating these branches with installed add-ons.
You may want to focus on "unknown add-on" entries as those may reveal leftovers from previous add-on removals.
Not all of those are leftovers those, the Classic Theme Restorer preferences for instance showed up as "unknown add-on" even though the extension was installed in the browser at that time.
You can remove these preference branches by selecting them with a click on the box at the end of their row in the table, and a click on the "remove selected items" button in the end.
This is excellent for going through the list of preferences quickly to find leftovers by extensions that were removed from the Firefox browser.
Tip: Backup the Firefox profile or the prefs.js file before you run the program as you may want an option to restore the file should things go wrong. You can use add-ons like FEBE or the Windows program Mozbackup.
Clean Uninstall is a useful add-on for the Firefox web browser. It can be used as a one-time cleanup utility to remove preferences from extensions that are no longer installed in Firefox, or as a monitoring tool that provides you with options to remove preferences after an add-on has been removed from Firefox.
Nice find ^^
This looks like a really handy tool, as I generally end up going in and manually removing all the trash that is left over, which can take quite a bit of spare time in some cases.
I’ve just tried ‘Clean Uninstall’ and indeed the second option “that complements the first: to display branches in the preferences and associating these branches with installed add-ons” is practically useless as it misses 90% of installed add-ons (I have 65), in that it describes them as “unknown add-on”. I’ve removed it (rather recalled backuped profile) and haven’t tested the first (main) option which is to clean ‘live’ remaining of an uninstalled add-on.
I’ll continue as before, cleaning myself the about:config, having a look at prefs.js after that, without forgetting the xulstore.json file (sometimes it keeps leftovers as well in which case I go to jsoneditoronline dot org to clean it up as I do with all json files). Not to forget as well a file left by the removed add-on in the user’s profile (root or chrome sub-folder).
The most annoying in left-overs is when their “name” has nothing to do with the add-on’s name, in which case I even happened to set a value in the add-ons options (when available) to search for it afterwards in about:config and thus recover the add-on’s name … ouf). This is why most of the time I backup my profile, test the add-on, and restore the profile (not copy over but remove profile then copy backup), automatized with a simple SyncBack (backup application) rule set (also called profile), quick and secure.
But, to avoid the hassle, ‘Clean Uninstall’ is a worthy concept, even if IMO it remains for the time being a work in progress.
I just found JSON Editor Online the other night, and it sure is handy for removing the cruft that inevitably builds up when someone uses and removes a lot of add-ons.
I’m also fond of SQLite Manager https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/ for dealing with SQLite databases in the Firefox profile directory, although some of those have been deprecated in favor of the aforementioned JSON files.
I agree that add-ons with preference “names” that in no way relate to the name of the add-on is extremely annoying. Why do developers do this? NirSoft BrowserAddonsView http://www.nirsoft.net/utils/web_browser_addons_view.html is really helpful in dealing with this issue. Martin wrote an article about it recently.
Thanks for the information/links, Chris. The SQLite Manager add-on seems interesting and as for NirSoft’s BrowserAddonsView, even though I’ve installed NirLauncher which includes all NirSoft apps, I haven’t run them all among which BrowserAddonsView. I’ll have a look on both.
True that JSON Editor Online is well done. I’ve used it also to modify search engines’ characteristics all tied up in the search.json file. There was a long time ago an add-on which would handle that but kaput now.
I’ve also just noticed that Firefox’s about:support page lists all add-ons and their IDs, similar to how NirSoft’s BrowserAddonsView program works.
True, Chris, I should have mentioned it as essential when association between an add-on and its left-overs after removal is not obvious. Yet, happens that left-overs’ denominations are unlikable to both the removed add-on’s name and its ID, which is then really problematic : some developers have a strong imagination.
I think there is no way for “Clean Uninstall” to detect the names for some add-ons. However, if you think the add-ons you have are popular why not submitting a pull request to extend the current list?
Seems like there is a map for popular add-ons
Does it clean it self if removed?
Good question! I doubt it does unless powered by ubiquity :)
Doesn’t seem to work on ESR. I’ll try it next week when ESR 45 is out.
doesn’t CCleaner do the same thing?
and then disable/delete
I have not used the function for a long time, but is it not it only removing the add-on from Firefox? I cannot really see it edit the prefs.js file in the Firefox profile directory, especially not without consulting the user about it.
Martin is correct. CCleaner performs the same as if the add-on was removed by the user from Firefox.
Thanks. Tom & Martin
Firefox has NEEDED this extension for a very, very, very, long time.
This extension is way to new for me to install it now but I will keep my eye on it.
Thank you as always Martin for giving it a full review!
It seems to me that the way add-on entries are labeled in prefs.js would make it practically impossible for a leftover “trace” from a removed add-on to interfere with the operation of any remaining add-on. How would removing those traces improve the functionality of FF?