Uninstalling add-ons

From MozillaZine Knowledge Base
Jump to navigationJump to search

You may be experiencing problems with uninstalling a theme rather than an extension. The principles described in this article apply to themes too, since these are treated as extensions by the new Extension Manager.

The New Extension Manager

The Extension Manager in Firefox 0.9+ and Thunderbird 0.7+ is capable of uninstalling extensions (Tools | Extensions) and themes (Tools | Themes).

If you can't uninstall an extension with the new extension manager, then one of the following has occured:

  • The uninstall button and menu item are disabled. This means that the extension is locked. (For example, the default theme is locked.) To uninstall a locked extension, you'll first have to unlock it.
  • The extension is listed with a red "generic" icon, or is not listed at all. This means that the extension was not packaged for the new Extension Manager. You'll have to uninstall it manually or use an extension uninstaller (see below). The general recommendation is to create a new profile for Firefox or Thunderbird and only install repackaged extensions in it.
  • The extension repeatedly shows "This item will be uninstalled after you restart Firefox" even after restarting. In this case, do not use the uninstaller extensions. Either create a new profile or try uninstalling manually (see below).

Uninstaller Extensions

These extensions are useful for Firefox (pre-0.9), Thunderbird (pre-0.7), and Mozilla Suite users.

Do not use these extensions if you have the "This item will be uninstalled after you restart Firefox" message in the extension manager! Either create a new profile or see the section below on performing a manual uninstall.

Uninstalling manually

It is strongly recommended that you create a new profile instead of uninstalling manually due to the risks and tedium involved in the manual procedure.

It's a good idea to make backups of your profile folder before deleting or changing anything in case something goes wrong.

Removing profile-installed extensions

You'll need to know the internal "short name" of the extension you're uninstalling. You can find it by searching for the full name in the chrome.rdf file (see below).

  1. Exit Firefox or Thunderbird and make sure it is not listed in your process list (Ctrl-Shift-Escape on Windows).
  2. Browse to your profile folder.
  3. Mozilla Suite users: Remove the <profile folder&gt/chrome/[shortname].jar file.
    All other users: Remove the <profile folder>/extensions/{extension-GUID} folder. You can find the GUID by looking in extensions.rdf file or by searching for [shortname].jar file in your extensions folder. Make note of the GUID as it will be needed later in this process.
  4. Delete compreg.dat and xul.mfl (it may be called something slightly different, eg. XUL.mfasl) files. They will be recreated on next browser start.
  5. Edit files in <profile folder>/chrome/overlayinfo. Find those that contain [shortname] inside them and remove entries, that look like this:
    <RDF:li>chrome://[shortname]/[path to file]</RDF:li>
  6. Edit the <profile folder>/chrome/chrome.rdf file. Remove all entries referencing the extension. See the list of possible entries.
  7. Firefox and Thunderbird users: Edit <profile folder>/extensions/extensions.rdf. Remove the entry that looks like this:
    <RDF:Description RDF:about="urn:mozilla:extension:{[GUID]}"
                     em:name="QuickNote"
                     [more info]>
      [more info]
      <em:targetApplication RDF:resource="rdf:[junk]"/>
    </RDF:Description>
  8. Firefox and Thunderbird users: Edit components.ini and defaults.ini and remove the lines that contain the GUID of the extension being uninstalled. The files are located in the root of your profile folder.
  9. Remove extension-related preferences from the user.js file and prefs.js.

Some extensions also create extra files on your hard drive. For example, Menu Editor stores its data in a menuedit.rdf file in your profile folder and TBE uses tabextensions.js. You might want to remove those too.

The list of possible chrome.rdf entries
  • <RDF:li RDF:resource="urn:mozilla:package:[shortname]"/>
  • <RDF:li RDF:resource="urn:mozilla:locale:[locale]:[shortname]"/>
  • <RDF:li RDF:resource="urn:mozilla:skin:[skin]:[shortname]"/>
  • <RDF:Description RDF:about="urn:mozilla:["locale"/"skin"]:[locale/skin]:[shortname]"
                     c:baseURL="[path]">
      <c:package RDF:resource="urn:mozilla:package:[shortname]"/>
    </RDF:Description>
  • <RDF:Description RDF:about="urn:mozilla:package:[shortname]"
                     c:baseURL="[path]"
                     [a lot more info]>
      <c:selectedLocale RDF:resource="urn:mozilla:locale:[locale]:[shortname]"/>
      <c:selectedSkin RDF:resource="urn:mozilla:skin:[skin]:[shortname]"/>
    </RDF:Description>

Removing a globally-installed extension

Firefox 0.9+ and Thunderbird 0.7+, by default, install their extensions into the profile folder, so this section will not apply to those users. Mozilla users are still able to install their extensions globally (that is, in their Mozilla application folder and not their profile folder).

  1. Exit Mozilla.
  2. Browse to the "chrome" subfolder of your Mozilla application folder (usually C:\Program Files\Mozilla Firefox\chrome for Windows users; for Mac users, Ctrl-Click the Mozilla Application folder package and select "Show Package Contents" and browse to /Applications/Mozilla.app/Contents/MacOS/chrome).
  3. Modify chrome.rdf and the files in your "overlay" folder as described above in the "Optional steps" section.
  4. Delete [extensionname].jar (or the [extensionname] directory if it has one).
  5. Remove every line with a reference to the extension's name from installed-chrome.txt. Usually there are up to three such lines corresponding to content, locale and skin.
  6. A few extensions might use additional files. TBE, for example, creates the file tabextensions.js in <application folder>/defaults/pref/ in which to store its defaults. Search through your application folder for such files and delete them.