Uninstall Business performance analytics (BPA)

Please see my previous blog for How to Install BPA

Considering with Custom Report

  • Custom report in Default Location restored after BAP App reinstalled
  • msdyn_bpaconfig solution holds custom reports
  • Manual refer to Custom report migration

How to Uninstall

Code Script

Power Platform Admin Center > Environment > Developer Tool > Console

// Get the current org URL
const ORG = window.location.hostname;
const WEB_API = `https://${ORG}/api/data/v9.2`;
const SOLUTIONS = [
    "msdyn_BpaAnchor",
    "msdyn_Bpa",
    "msdyn_BpaReports",
    "msdyn_BpaPlugins",
    "msdyn_BpaPermissions",
    "msdyn_BpaTables",
    "msdyn_BpaControls",
    "msdyn_BpaTablesAnchorSolution",
    "msdyn_BpaTablesUserRoles",
    "msdyn_BpaAnalyticalTablesWorkspace",
    "msdyn_BpaAnalyticalTables",
    "msdyn_BpaTablesTransformationJobFlows",
    "msdyn_BpaTablesDataProcessingConfigurations",
    "msdyn_BpaTablesDataLakeSynchronizationWorkspace",
    "msdyn_BpaTablesDataLakeSynchronization",
    "msdyn_BpaTablesStandardEntities",
    "msdyn_BpaTablesVirtualEntitiesWorkspace",
    "msdyn_BpaTablesVirtualEntities",
    "msdyn_BpaTablesManagedDataLake",
    "msdyn_BpaPipelinePlugins",
    "msdyn_BpaTablesSecurity",
    "msdyn_BpaConfig"
];

// Get all solutions
let _getSolutions = () => {
    var requestOptions = {
        method: "GET",
    };
    return fetch(
        `${WEB_API}/solutions?$filter=(isvisible%20eq%20true)&$select=solutionid,friendlyname,uniquename`,
        requestOptions
    ).then((response) => response.json());
};

// Delete the solution by solution ID
let _deleteSolution = (solutionid) => {
    var requestOptions = {
        method: "DELETE",
    };
    return fetch(`${WEB_API}/solutions(${solutionid})`, requestOptions);
};
let start = async () => {
    console.info("Uninstalling BPA solutions");
    let installedSolutions = (await _getSolutions()).value;

    // Sort the installed BPA solutions 
     let installedBPASoltuins = installedSolutions
        .filter((i) => SOLUTIONS.indexOf(i.uniquename) > -1)
        .sort(
            (i, j) =>
                SOLUTIONS.indexOf(i.uniquename) - SOLUTIONS.indexOf(j.uniquename)
        );
    for (let solution of installedBPASoltuins) {
        console.info(`Removing solution ${solution.friendlyname}`);
        await _deleteSolution(solution.solutionid);
    }
    console.info("BPA Solutions removed successfully");
};

start();

Manual Uninstallation

Power Platform Admin Center Overview > Delete Solution

Business performance analytics anchor solution
Business performance analytics solution
Business performance analytics reports
Business performance analytics plugins solution
Business performance analytics permissions
Business performance analytics tables
Business performance analytics controls
Business performance analytics tables anchor solution
Business performance analytics tables user roles
Business performance analytics analytical tables workspace
Business performance analytics analytical tables
Business performance analytics tables transformation job flows
Business performance analytics tables data processing configuration
Business performance analytics tables data lake synchronization workspace
Business performance analytics tables data lake synchronization
Business performance analytics tables standard entities
Business performance analytics tables virtual entities workspace
Business performance analytics tables virtual entities
Business performance analytics tables managed data lake
Business performance analytics pipeline plugins solution
Business performance analytics tables security
Business performance analytics config

Other Elements

Report backups
Transformation job flows
Managed lake configurations
Metadata
  • Removing folders like msdyn_BpaConfigs
  • Removing backup directories
  • Removing other Business performance analytics managed artifacts that aren't needed.

Source Link

https://learn.microsoft.com/en-us/dynamics365/finance/business-performance-analytics/uninstall-bpa

Leave a Comment