Unmanaged and Managed Packages in Salesforce AppExchange 
Salesforce, the world’s leading CRM platform, provides developers with a range of tools to customize and extend the functionality of the platform. One such tool is the ability to create and distribute packages. Salesforce packages can be broadly classified into two categories: managed packages and unmanaged packages.
What are packages in Salesforce?
In Salesforce, packages refer to a way of organizing and distributing components, such as customizations and applications, for the Salesforce platform. These packages can include various elements like custom objects, fields, workflows, Apex code, Visualforce pages, and more.
Packages serve as a container for these components and can be shared and installed across different Salesforce organizations. They allow developers to bundle their customizations and distribute them to other Salesforce users, enabling easier deployment and sharing of functionality.
Salesforce packages can be broadly classified into two categories: managed packages and unmanaged packages.
Both unmanaged and managed packages have their own use cases and considerations. The choice between them depends on factors such as the purpose of distribution, the level of control required, and the need for future updates or modifications.
- Creation: Managed packages are created and managed by Salesforce Independent Software Vendors (ISVs) and AppExchange partners. They are a great way for ISVs to distribute and sell their applications on the Salesforce AppExchange. Managed packages are designed to be easily installed, upgraded, and uninstalled, and they offer a variety of benefits to both ISVs and end-users.
- Modification: One of the main advantages of managed packages is that they are locked, meaning that the package contents cannot be modified by the end user. This ensures that the package contents remain consistent across all orgs and that the package can be upgraded without fear of breaking customizations or integrations.
- Namespace: Managed packages also come with their own namespace, which ensures that there are no naming conflicts with other packages or customizations in the org. This namespace also provides a way for the ISV to maintain its brand identity across multiple installations of its package.
- Accessibility: Another benefit of managed packages is that they allow the ISV to control access to their package. ISVs can define permissions and license types for their package, making it easy to sell different editions of their application to different types of users.
- Creation: Unmanaged packages, on the other hand, are packages that are created and distributed by developers within a single org. They are typically used to move metadata components from one org to another, such as when deploying customizations from a sandbox org to a production org.
- Modification: Unlike managed packages, unmanaged packages are not locked, which means that the contents of the package can be modified by the end user. This can be useful in situations where the customization needs to be tweaked or debugged after deployment.
- Namespace: Unmanaged packages also do not come with a namespace, which can make it more difficult to manage conflicts with other packages or customizations in the org.
- Accessibility: However, the lack of locking also means that unmanaged packages are accessible to all and more prone to conflicts with other packages or customizations in the org. This can lead to issues with package upgrades or conflicts with other customizations.
managed packages are designed for ISVs and AppExchange partners to distribute and sell their applications on the Salesforce AppExchange. They offer a variety of benefits, such as locking, namespaces, and access control.
Unmanaged packages, on the other hand, are typically used to move metadata components from one org to another. They do not offer the same level of protection as managed packages and are more prone to conflicts with other packages or customizations in the org.
When deciding which type of package to use, it’s important to consider the specific use case and requirements. Managed packages are ideal for distributing and selling applications on the AppExchange, while unmanaged packages are more suited for moving metadata components between orgs.
Kizzy Consulting is a Salesforce Consulting Partner based in Panchkula, India. Kizzy has successfully implemented 100+ Salesforce projects for 100+ clients across sectors like Financial Services, Insurance, Retail, Sales, Manufacturing, Real estate, Logistics, and Healthcare in countries like the US, Europe, Germany, and Australia. Get a free consultation now by emailing us at [email protected] or Contact us.