Package Dependency
A relationship between Salesforce packages where one package requires another package to be installed first, typically when a package extension references components from a base managed package.
Definition
A relationship between Salesforce packages where one package requires another package to be installed first, typically when a package extension references components from a base managed package.
In plain English
“A Package Dependency is when one Salesforce package requires another package to be installed first. This typically happens with package extensions, where the extension references components from a base managed package and can't work without it.”
Worked example
An ISV at Birchmoor Software publishes a managed package extension that depends on the base "Compliance Suite" managed package - the extension's components reference custom objects in the base package. When customers install the extension, Salesforce validates the Package Dependency: the base Compliance Suite must already be installed, or the extension installation fails with a "missing dependency" error. The dependency relationship is declared in the extension's package metadata. Without explicit Package Dependency tracking, customers could install the extension into orgs where it would fail at runtime - Salesforce catches the issue at install time instead.
Why Package Dependency matters
A Package Dependency is a relationship between Salesforce packages where one package requires another package to be installed first, typically when a package extension references components from a base managed package. Dependencies must be resolved during installation: the base package must be installed before the dependent package can be installed, and certain operations on the base package (like uninstalling) are blocked while dependent packages exist.
Managing dependencies is one of the more complex aspects of package development, especially in ISV ecosystems where multiple packages from the same partner may depend on shared components. Mature ISV partners design their package architecture with dependencies in mind, using shared base packages for common functionality and dependent extensions for specialized features. Salesforce DX and second-generation packaging (2GP) provide better dependency management than first-generation packaging.
How organizations use Package Dependency
Designed their package architecture with a base package providing core functionality and several extension packages for specialized features.
Manages dependencies between their packages carefully, ensuring base packages are installed before extensions.
Documents package dependencies in installation guides so customers know the correct order.
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. What is a Package Dependency?
Q2. When are dependencies common?
Q3. What does dependency mean for installation?
Discussion
Loading discussion…