Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Solutions are used to transport apps and components from one environment to another or to apply a set of customizations to existing apps. A solution can contain one or more apps as well as other components such as site maps, tables, processes, web resources, choices, flows, and more.
Solutions are the mechanism for implementing application lifecycle management (ALM) in Power Apps and other Power Platform products, such as Power Automate.
Note
To learn more about the solution concepts and how solutions are used for application lifecycle management, go to Overview of ALM with Microsoft Power Platform in the Power Platform ALM guide.
This section focuses on the manual tasks that app makers need to perform while working with solutions in Power Apps.
Get started: solution concepts
Before you work with solutions, it's important that you get acquainted with the following solution concepts:
- Two types of solutions (managed and unmanaged)
- Solution components
- Lifecycle of a solution (create, update, upgrade, and patch a solution)
- Solution publisher
- Solution and solution component dependencies
To learn more, go to Solution concepts in the Power Platform ALM guide.
Default solutions
Power Apps provides you with the following default unmanaged solutions:
- Common Data Service Default Solution. This solution is available for makers to use by default for their customizations in an environment. The Common Data Service Default Solution is useful when you want to evaluate or learn Power Apps. However, we recommend that app makers work in their own unmanaged solutions.
- Default Solution. This is a special solution that contains all components in the system. The default solution is useful for discovering all the components and configurations in your system.
However, we recommend that you create a solution to manage your customizations. More information: Use a solution to customize in the Power Platform ALM guide.
Managed properties
You can control which of your managed solution components are customizable by using managed properties. We recommend that you set managed properties so that your managed components can’t be modified. This helps protect your solution from modifications that might cause it to break after it's imported into another environment, such as test or production.
More information: Managed properties in the Power Platform
Work with solutions in Power Apps
Within Power Apps, you can view a list of solutions by selecting Solutions in the left navigation. You can perform these solution tasks:
- New solution: To locate and work with just the components you’ve customized, create a solution and do all your customization there. Then, you can easily distribute your solution to other environments. More information: Create a solution
- Import solution: Import a solution into your environment. More information: Import solutions
- Open AppSource: Microsoft AppSource is where you can go to get solutions tailored to your industry that work with the products you already use.
- Publish all customizations: Publish all active customizations in your environment.
- Set preferred solution: Set your preferred solution where all solution components are created in.
- See history: View details about solution operations over time, such as import, export, and uninstall. More information: View the history of a solution
- Connect to Git: Source control integration allows development teams to sync solutions and solution objects across one or more Dataverse environments using an Azure DevOps Git repository. More information: Overview of Git integration in Power Platform
- Switch to classic: Open the classic solution explorer.
When you select a solution, additional tasks become available on the command bar. These tasks include:
- Edit: Edit the solution properties, such as adding or removing solution components.
- Delete. Delete the selected solution.
- Create a plan. Use Plan designer to create a plan for your existing solution. Plan designer generates a detailed document that describes your solution. The plan covers the business problem, user requirements like user roles and stories, the data model, and technologies like apps. This feature saves time when you're trying to understand a solution's content and helps makers improve an existing solution. More information: Create a plan from a solution
- Export solution: Export the solution to a file that can be imported into another environment. More information: Export solutions
- Deploy. Use pipelines in Power Platform to deploy solutions to test and production environments. More information: Overview of pipelines in Power Platform
- Solution checker: Run or review results of solution checker for this solution.
- Show dependencies: View the solution components that have a dependency on another component. More information: View solution dependencies for solutions that would block uninstall of this solution.
- Set preferred solution. Use the selected solution as your preferred solution. The preferred solution is where, if not already working in the context of a solution, all your solution components are maintained. More information: Preferred solution
- See history. View details about solution operations over time, such as import, export, and uninstall. More information: View the history of a solution
- Publish to Catalog: Publishes the solution to the catalog, making it available for other makers in your organization to use. This is useful for sharing solutions that you want others to be able to import and use in their environments. More information: Catalog in Power Platform
- Apply Upgrade: Appears when you select a solution. Apply a pending upgrade that has been initiated for a managed solution.
From the Solutions area, open a solution to view all of its objects.
Browse through all the objects in a solution by scrolling through the items. If there are more than 100 items in the list, you can select Load the next 100 items to see more.
Columns can be sorted and filtered by selecting the column header.
Column headers include:
- Managed: The solution object is from a managed solution. You can inspect the object by selecting the item and then select Advanced > See solution layers.
- Customizable: The component is available to be customized.
- Customized: This indicates that the object is an unmanaged object, or a managed object with an unmanaged customization layer. You can use this column to quickly locate the unmanaged changes you have for components in the solution.
- Owner: If the solution object supports user and team ownership, the current owner is displayed.
- Status: If the solution object supports state management (on/off, enabled/disabled, active/inactive), the status is displayed.
Tip
You can quickly locate all solution objects that are unmanaged or have unmanaged customizations by selecting the default solution and filtering on the Customized column.
Search and filter in a solution
Search for a specific component by its name.
Or filter all items in the list by the component type.
Contextual commands
As you select each component, the actions available in the command bar changes depending on the type of the component you have selected and if the solution is the default or a managed one.
When you don't select any component, the command bar shows actions applied to the solution itself.
With solutions that are unmanaged or the default one, you can use the New or Add Existing command to create or add different types of components. More information: Add solution components
Note
You can't add components to a managed solution. When you try to, you’ll get the following message:
"You cannot directly edit the components within a managed solution. You’ll need to add it to another unmanaged solution that you’ve created to customize the component. The component might not be customizable."
Additional privileges required
Some components might require certain Dataverse privileges for users to run the component when the component is imported into the environment from a solution.
Flows
To use or run a flow from a canvas app that is included in a solution, you must have permissions to that flow through someone sharing ownership or run permissions. When an app in a solution is shared with a set of users, the flows must also be explicitly shared.
More information: Security roles and privileges
Use pipelines in Power Platform to deploy solutions
Easily deploy solutions to test and production environments using pipelines in Power Platform. Once pipelines are in place, makers can initiate in-product deployments with a few clicks. Makers do so directly within their development environments. More information: Overview of pipelines in Power Platform
Known limitations
The following limitations apply to the use of canvas apps, flows, and custom connectors in solutions.
- If you encounter a canvas app publishing error: the app has connections to flows that are no longer in the environment, remove any deleted flows from the app. Then save and publish the app.
- Canvas apps shared with Everyone that go through environment backup and environment restore operations aren't shared with Everyone in the restored environment. Notice that the canvas app can be shared with a security group, and the app in the restored environment is shared with that security group.
To learn more about customizing the individual components in a solution, go to the following articles:
- For table, table relationships, column and message customizations, go to Metadata.
- For table forms, go to Forms.
- For processes, go to Processes.
- For business rules, go to Business Rules.
Troubleshooting solutions
For known issues and information about how to troubleshoot working with solutions, go to Manage apps and solutions in the Power Apps Troubleshooting documentation.