Showing results for 
Search instead for 
Did you mean: 
Helper I
Helper I

Managed vs Unmanaged

When do you use a managed solution vs an unmanaged solution?  What are the pros and cons?  I will import a component for use with a canvas app.  I would like to be able to update and remove the component as needed.

Community Support
Community Support

Hi @rarroyo1 ,


Unmanaged Solution: The beginning state of solution is the unmanaged solution state. During this phase, you can add, edit, update, remove, delete, and test any of the components of the solution. You also have the ability to create restrictions on the components within the solution. Deleting the Unmanaged Solution only deletes the reference to the solution, not the customisation components. Less risk of losing customisations and data as more difficult to remove

Managed Solution: A managed solution is a finalized solution that can be distributed and installed. They are created by exporting an unmanaged solution by setting restrictions to prevent any further customizations. The whole point of Managed is locking down the Component states so they cannot be edited. Deleting the Managed Solution will remove all its customisations as well as data contained. Managed Solutions become read only once deployed so they cannot be manipulated.

  • Roll Back / removing a Managed Solution after deploying to production is simple
  • Preparing managed solutions for deployment requires more considerations for dependencies & merge behaviour
  • Once you deploy as Managed in production you cannot change back to unmanaged once the solution has been deployed

So, I think the unmanaged solution is more suitable for your case.


An excellent talk about Managed vs Unmanaged solution in this thread, see Managed vs Unmanaged solutions .


Hope this helps.



I listed to the podcast, and was wondering if the 'correct' way to import the component solution to Production is to export from Development first.  What not import the same solution zip file that I had imported to Dev?

A Production environment should never have unmanaged solutions installed on it so:-


if the solution you installed on dev is unmanaged you need to export a managed solution before importing it into production.

if the solution you installed on dev is managed you can import the same managed solution into production (after you've tested it).

If this post has answered your question please consider it for "Accept as Solution" or if it has been helpful give it a "Thumbs Up".

Thanks @ben-thompson . I also wondered if it's ok take the result of "pac pcf push" (basically the PowerAppsTools_XXX solution), and after that take that component  and add it in another solution, and export that as managed for production purposes. I was not sure if the unmanaged generation would skip making a minimized bundle, or other stuff like that.

In the very helpful explanation about "pac pcf push" it's stated that  ‘pcf push’ is not designed to replace the need for a cdsproj:

Kind regards,
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

pac pcf push: To be use only for quick deploy to DEV for completing unit testing of your control. Once unit testing is complete, add the control to your “PCF Custom Controls” project (unmanaged) and delete the solution that got created using pac pcf push command; it would look something like “PowerAppsTools_[prefix]”


Unmanaged: Recommended is to use this in DEV instance only. I normally create a separate solution that contains all my custom controls and I call it as “PCF Custom Controls”. After I deploy and test my control, I add it to this solution so I can deploy it to other environments.

Note: prefix of both the solution; PowerAppsTools & PCF Custom Controls must be same.


Managed: All other environments like UAT, Pre-Prod, Prod will have managed solution. When I export the solution from DEV I always export them as managed and import them in all other environments.


In your case it feels like you are developing the control for Canvas app and you are in the dev cycle where you want to update, deploy & test. I would recommend using pac pcf push until your control is ready. Once you think your control is ready then add it to your desired Solution with the same prefix you used in your pac pcf push. Delete the temporary PowerApps solution. To deploy it from DEV to other environments using the traditional export/import feature.


Hope this clarifies things a little better.

Power Maverick | Microsoft Business Application MVP

Helpful resources

UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Users online (3,351)