Newer Version Available
Distributing Applications and Components
As an ISV or Salesforce partner, you can package and distribute applications and
components to other Salesforce users and organizations, including those outside your
company.
Publish applications and components to and install them from AppExchange. When
adding an application or component to a package, all definition bundles referenced by the
application or component are automatically included, such as other components, events, and
interfaces. Custom fields, custom objects, list views, page layouts, and Apex classes referenced
by the application or component are also included. However, when you add a custom object to a
package, the application and other definition bundles that reference that custom object must be
explicitly added to the package. Other dependencies that must be explicitly added to a package
include the following.
- CSP Trusted Sites
- Remote Site Settings
A managed package ensures that your application and other resources are fully
upgradeable. To create and work with managed packages, you must use a Developer Edition
organization and register a namespace prefix. A managed package includes your namespace prefix in
the component names and prevents naming conflicts in an installer’s organization. After a managed
package is released, the application or component names are locked, but the package developer can
still edit these attributes.
- API Version
- Description
- Label
- Language
- Markup
Any Apex that is included as part of your definition bundle must have at least 75% cumulative test coverage. When you upload your package to AppExchange, all tests are run to ensure that they run without errors. The tests are also run when the package is installed.
For more information on packaging and distributing, see the ISVforce Guide.