Winter '13 appears to have increased the level at which Salesforce enforces constraints, making it very difficult to uninstall packages. As I have to do this multiple times a day when testing Beta packages, it's quite time consuming.
At the moment I'm stuck on the following issue (Repeated for every profile and page layout).
Page Layout
Product2.Product Layout
This installed component is referenced by a locally created component. System Administrator
However there doesn't appear to be any way to remove this reference from the profiles? Does anyone know how to do this?
(If the core developers are listening, there really needs to be a way to 'force uninstall' a package that removes every reference to it in one step. I waste far too much time uninstalling/installing/reconfiguring beta packages as it is, and Winter '13 appears to have made this far worse).
Attribution to: James Davies
Possible Suggestion/Solution #1
For uninstalling my apps I keep a few copies of the page-layouts for my objects around preconfigured with and without the conflicting changes.
When I finish installing an app, I run the ant deployUnpackaged
with my preconfigured page-layouts, and vice-versa, run it again without the components in the page layouts to remove them before uninstalling.
Attribution to: jordan.baucke
Possible Suggestion/Solution #2
I asked a similar question about this recently. After attending the Dreamforce '12 session Team Development and Release Management for ISVs. I began integrating the undeploy ant script (written by Eric Wilcox) into out CI server. It sounds like his script is exactly what you are looking for.
Attribution to: Daniel Blackhall
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/2109