Tips & Tricks – Update/Upgrade an Unmanaged Package

Hopefully these tips & tricks will help if you’re having trouble updating or upgrading a component through an unmanaged package.

unofficialSF often uses Unmanaged Packages as part of the open-source development process. With unmanaged (Unlocked) packages, installed source code can be visible and modifiable. The primary disadvantage is unmanaged packages are not easily (one-click) upgradeable – especially if new components have been added and/or old components deprecated. For more in-depth information this article goes into technical detail.

Please note, if Flow parameters have been changed in the newer version or some are removed, the user may have to delete those flow
versions and/or remove the component from the flow.

Another alternative to the below process is to install a new version of an unmanaged package in a Sandbox that does contain the component and then use a Change Set to move the new version to other Sandboxes or to Production.

So here’s a process that hopefully will work in most cases if you’re getting component and package conflicts.

  1. Before you do the upgrade, go to Setup–>Apps–>Packaging–>Installed Packages and select the package
  2. For each component, click on remove until you have no more components associated with that package
  3. Uninstall the package (don’t worry, the components will still be there and you didn’t change the function of the system. You just don’t get the “this package contains components in another package, . . .” message when you try and install the new package)
  4. Now install the new package (use the package url)
  5. If you are trying to replace activated flows (of any kind), you will need to deactivate those flows before you can remove or install new ones(remember to reactivate them once you’ve installed the upgrades)

Voilá, you now how the latest upgrade of an unmanaged package!


1. Before you do the upgrade, go to Setup–>Apps–>Packaging–>Installed Packages and select the package.

2. For each component, click on remove until you have no more components associated with that package

3. Uninstall the package (don’t worry, the components will still be there and you didn’t change the function of the system. You just don’t get the “this package contains components in another package, . . .” message when you try and install the new package)

4. Now install the new package (use the package url).

Neat Trick: you won’t have to re-authenticate if you just add the copied package URL to the end of your current Org URL and remove the https://login.salesforce.com, (e.g., https://velocity-power-6601-dev-ed.lightning.force.com/https://login.salesforce.com/packaging/installPackage.apexp?p0=04t3h000002Ne4QAAS 05i3h0000008OLsAAM)

5. If you are trying to replace activated flows (of any kind), you will need to deactivate those flows before you can remove or install new ones(remember to reactivate them once you’ve installed the upgrades)