Handle unmanaged changes made to tables in the default solution in the Power Platform.

The default solution in the Power Platform is an unmanaged solution even in production. How do you handle unmanaged changes in the default solution that are edited manually?

Unmanaged layers

Deployment of apps, flows and tables should be done through solution packages. And you will find that as you deploy the solutions to production environments as managed solutions after you have developed them in a development environment as an unmanaged solution.

Then if anyone (by accident or mistake) happens to update the tables, flows or apps in the default solution that most things will get an unmanaged layer.

unmanaged layer in an app.

But what happens when your solution adds some fields to for example the Account. The account table is part of the default solution and is unmanaged by definition.

When you make edit directly to the default solution ( and really this isn’t uncommon at all as Microsoft has made it really easy to do by adding it to the left hand navigation under Dataverse).

Handle unmanaged changes made to tables in the default solution in the Power Platform. Microsoft Power Apps, Microsoft Power Automate, Microsoft Power Platform image 29

Switch to classic

So just imagine for one moment, that your solution is adding fields, forms and views to the account table. You have done everything rigtht and deployed the solution to production as a managed solution, but your changes are not coming through.

You also checked the unmanaged layers on the account table and they don’t exist (they can’t exist as the table is an unmanaged table).

What should you do? Most likely manual changes have been made to your account table.

The first step is Switch to classic. Yes, the option that i’m going to need doesn’t exist in the modern UI yet ( or at least I haven’t seen it at the time of writing this post!)

Handle unmanaged changes made to tables in the default solution in the Power Platform. Microsoft Power Apps, Microsoft Power Automate, Microsoft Power Platform image 30

Now you get the the solution store in the ugly classic UI.

In this UI we will have to re-import the solution.

Handle unmanaged changes made to tables in the default solution in the Power Platform. Microsoft Power Apps, Microsoft Power Automate, Microsoft Power Platform image 31

And as you upload your solution and click through the dialogues you will find the following option:

unmanaged changes fixed during import

Overwrite customizations (not recommended)
This option overwrites or removes any unmanaged customizations previously performed on components in this solution. This option does not affect components that support merge behavior (forms, sitemap, ribbon, app modules). Components that have other managed solutions on top of the existing solution you are replacing do also still remain on top and are not affected by this option.

The not recommended option is to overwrite customizations. It will only overwrite any unmanaged customization that are part of your solution. So this should really come with a few warnings before you try this in your production environment. Do you have any unmanaged solutions deployed to production? They may be affected.

So take a lot of care and try this first in a non production environment with the same solutions installed as in production and with the same changes made manually to the unmanaged tables etc.

But most likely, you will only have properly deployed managed solutions in production so that nothign can go wrong (ha ha).

Then as you select the not recommended option and the import is completing, you will find that your account entity is all nicely fixed again.

Continue Reading Pieter Veenstra’s Article on their blog

Handle unmanaged changes made to tables in the default solution in the Power Platform.

The default solution in the Power Platform is an unmanaged solution even in production. How do you handle unmanaged changes in the default solution that are edited manually? Deployment of apps, flows and tables should be done through solution packages.

Blog Syndicated with Pieter Veenstra’s Permission

Author: Pieter Veenstra

Share This Post On