We've written one app using managed package. But to improve it we're thinking to create a new managed package as we're not able to make much changes in existing managed package due to Salesforce limitations.

If we create a new managed package what would be the best approach to install on the subscribers machines who are already using our old managed package. As we don't want to loose data of custom fields from old managed packages and want to transfer it to new managed package. Once we get all custom fields data in our new managed package, we can ask subscribers to delete old managed package.

Thanks in advance.

1 Answer 1


You will have to get the customers to install the new managed package in their org.

On the data migration, providing a Visualforce page that you tell customers to use as part of the switchover process probably makes most sense. While you could do the migration automatically via an InstallHandler, the switchover process will most likely require other changes such as to profiles and layouts and will require some co-ordination with users to stop using the old app and start using the new app. The data migration code will require care particularly with related objects and very likely require the use of batch Apex.

Instead of a new app you could just add v2 new objects to the existing app e.g. add a MyCustomObject2__c as the replacement for MyCustomObject__c. All depends on current vs future number of customers: if you expect to have a lot of new customers in the future the clean break of a new app may make more sense.

You must log in to answer this question.

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