I spent September and October and November working on an app which my company hoped to release in the Salesforce App Store. I created a managed package, I created test accounts, I tested it. I went through the whole process, up to the moment where we would pay the $2,700 fee for the security review. Then the project stalled out. My manager tried to negotiate a lower fee with Salesforce, and then the whole project was put on the back burner for awhile.

Now the project is again top priority. My manager asked me to make some changes. Rather than trying to update the existing managed package, I think it would be easier to cancel the whole thing and start over again, recreating a new managed package.

But how do I cancel the old managed package?

If I look at one of my custom objects here:


I see this message:

"This Custom Object Definition is managed, meaning that you may only edit certain attributes."

If I want to edit more than "certain attributes" what do I do?

1 Answer 1


One way to have full freedom is to create a new namespace and new managed package in a new org. Then transfer whichever components you want to keep from the old development org using e.g. the Ant-based Migration Tools. (In general your code should not include the namespace prefix.)

Having a fresh start like this gives you the opportunity improve the naming you use and other pieces of design.

(The first managed package I created wasn't delivered to a customer until it was on its third namespace.)

  • About this: "In general your code should not include the namespace prefix." -- but aren't we forced to use it when referencing custom fields on custom objects, as in, " List<PrivateIncInfo__Elde_Flash_Message__c> userMessages = [SELECT Id, PrivateIncInfo__Already_show_to_user__c, PrivateIncInfo__Message__c from PrivateIncInfo__Elde_Flash_Message__c where PrivateIncInfo__Already_show_to_user__c = false AND PrivateIncInfo__User_Id__c=:userinfo.getuserid() ORDER BY CreatedDate desc];"
    – LRK9
    Commented Apr 17, 2017 at 22:42
  • @LRK9 Can't find a good reference on this, but if the query is inside the managed package code then the namespace prefix is automatically injected for you so is best left out. Then you can move your source code from one namespace to another. See e.g. Dynamic SOQL Queries and Managed Namespaces.
    – Keith C
    Commented Apr 18, 2017 at 7:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .