I have a policy package that hides some add-ons; I need to uninstall some of them but seems it's not possible neither manually from ZMI, nor using the standard programmatic approach:
portal_quickinstaller.uninstallProducts([addon]) fails with AttributeError
portal_setup.runAllImportStepsFromProfile(uninstall_profile) fails with KeyError
For the portal_quickinstaller: if the addon is not in the Contents tab of portal_quickinstaller in the ZMI, then you cannot uninstall it.
For portal_setup: on older Plone 4.3 versions, you might need to add profile- in front of the uninstall_profile id. Or if it is already there in your current code: remove it. The ZMI should give you a list of valid profile ids, in the profile Import tab.