+ Start a Discussion

Base and Extension packages - updates and upgrades


We are planning to use base and extension packages in our AppExchange product and would like to know how base and extension packages behave during update and upgrades. More specifically:

1. What is the behaviour of updates to a base package? If there is an extension package installed, will any components (e.g. page layout, field label) in the extension package be overwritten with those in the base when the base is updated or upgraded?

2. Do extension packages follow the same guidelines as for base managed packages (as outlined in Appendix B of Developing Packages for Distribution)? Are the same items updatable/upgradable?

3. Can we package updates to extension and base packages together?


Thanks so much!

 --Sarah Andrews


1.  Nothing in the base will overwrite extension.


2.  Yes


3. No, each package is still separate.  


Why are you wanting to use an extension?  I always recommend folks try not to use extensions unless absolutely necessary due to the development overhead.


Thank you Andrew.  We are using extesion packages in order to have a product that works on Professional and also provide versions with additional functionality for EE, UE and Force.com.




Hi Andrew,


I am going to send you some more information on what we are trying to do to see what you suggest.


In the meantime, for a base/extension setup: is it possible to update/upgrade the base package and push it to other developer environments without having to release it to clients?







We are developing a suite of products to meet the needs of different vertical markets (Pharmaceutical, Consumer Goods and Retail). We have a core set of functionality that will be used in all products. For each of the different verticals, we will add/modify functionality to meet industry-specific requirements.  In order to support this model, we are looking at using base and extension packages where the base package would contain the core functionality and possibly be made available to PE customers and there would be an extension package for each vertical product.


Do you have other suggestions for how we might handle this situation without using extension packages?


Thank you,



This would work.  You might also consider three different packages - one for each vertical.  There is some overhead there, but it might ease your dev process if you think you'll never need to have customers use things from another vertical.  It will simplify the install experience too.


Hi Andrew,


Thank you for your excellent pointers.


Sarah and our development team needs to better understand the options and pros and cons to package 3 editions.

Below is our understanding base on your feedback and additional questions,  


Thank you in advance for your comments/ feedback,



  • As mentioned earlier we have 3 editions A, B, and C that we would like to release, list on AppExchange;
  • The 2 options we see are (as per your suggestion):
  • 1) Create one listing – with Base Managed Package and Extension Packages for each Vertical/Edition
  • 2) Create 3 separate listings.
  • The "A" edition contains the core functionality that is shared by both "B", and "C"
  • Both "B" and "C" contain customizations to the core functionality ("A") plus additional Objects and Code
  • Since a big portion of both "B" and "C" functionality comes from the core (A edition), it may feel unreasonable to pay for the 3 Listings. 5000 x 3 = $15000 revie + 2500 x 3 = $7500 annual fee.
    • That said from the marketing perspective, it may be more effective and less confusing for the end users on the AppExchange – (e.g. seeing all 3 editions described on the same Listing Page could be confusing)

With above in mind, 2 Questions:

  1. When using 1 Listing, Base + Extensions approach, is it possible to have a separate page on AppExchange for each Extention?
  2. Alternatively, using 3 listings, is there a way to come to a reasonable agreement = to reduce review fees since a big core portion of the code deployed is shared across the Editions?



Hi aztock,


Actually in either case, you'll have multiple AppExchange listings. If you go with a base package and several extension packages, you'll have an AppExchange listing for the base package and one AppExchange listing for each of the extension packages. You'll need to do this so that people can first install the base and then install the appropriate extension. Alternatively, you could go with a single AppExchange listing for the base package and then you could privately distribute the extensions to your customers as needed.


In the case that you go with 3 separate managed packages (no base), you'll need an AppExchange listing for each of these. As Andrew mentioned, this is definitely a more straighforward install experience.


Regarding the security review fees, I would suggest that you log a case in the Salesforce.com Partner Portal (http://www.salesforce.com/partners) so that we can discuss offline.


Ryan Ellis

Senior Product Manager, AppExchange



It is a comment technical points are very good.In this case for each vertical going separate package is best technical solution.


No need exteniton for each vertical only version upgrades.If you got better solution post here it will help us lot.