I'm trying to figure out the best way to prevent a managed package from being installed if another managed package isn't already installed.

I've looked at this question which basically explains what I'm trying to do, however the answer just states to "warn the user in the AppExchange".

Is there a programatic way to prevent this (like doing something in an InstallHandler)?

  • If the other managed package is a part of your managed package then it will not let the user install until they install the dependency. The problem is it does not tell them until a few steps in causing frustration for the end user.
    – Eric
    Jun 16, 2015 at 17:37
  • @Eric There would still be messages in the AppExchange listing about the package requirements.
    – Dan Bough
    Jun 16, 2015 at 17:41

1 Answer 1


It appears that Salesforce automatically prevents installation of a package if the organization it's being installed on doesn't have the required package(s).

I created a package from the app I'm working on and installed it on a fresh Salesforce org. I received this message:

A required package is missing

I haven't been able to find any documentation that states that this will happen though.

You must log in to answer this question.

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