I am new to this migration tool.

I have a question like can we build and deploy managed package using the migration tool?

If yes, then how is it different from downloading that package directly from app exchange

I am getting an error while getting the managed pakaged.I am usnig the following in my package.xml


Thanks, Samir

2 Answers 2


These are 2 different concepts:

  • Packages in the AppExchange are managed, which means that the metadata (code, etc.) is protected and you cannot view or edit the components (you can view the markup in VisualForce pages).

  • AFAIK, you cannot install a package in your org using migration tool, but I might be mistaken.

  • You cannot download the code from a package from the AppExchange either, for the reasons stated above.

  • With the migration tool, you can upload/download unmanaged metadata between your hard disk and the SF org. We use it all the time to keep all the metadata in source control.

In short: if you install a package from the AppExchange, all the metadata will be in your org, but locked. If you upload metadata (hopefully that you created) with the migration tool, your metadata will be available to be edited in the org.

Having said all that, you can upload metadata using the migration tool, and then create your own managed package from your org.

  • You can install and uninstall a managed package from the migration tool, but you cannot upload a managed package from your metadata. Use the migration tool to upload a InstalledPackage metadata file (developer.salesforce.com/docs/atlas.en-us.api_meta.meta/…) where the filename is <namespace>.installedPackage
    – Mark Keats
    Mar 9, 2016 at 14:15

The primary problem is: you would not get all the source code(like classes/triggers) for Managed package, unless you get it directly from the developer. And in case you have the code, the following would apply:

When you download from AppExchange:

  • The namespace remains the same that of specified in AppExchange for that package.
  • For managed packages, the Org limits would not apply for the new components created

When you upload using migration tool:

  • You have to change the package name before migrating. Since, the package name is unique, and you can not have the same package name created in your org.
  • All components that you deploy would count against your Org limits.

You must log in to answer this question.

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