Sometime O365 SharePoint Online will not allow uninstall app hosted. It will give you error as “Some things went wrong” or “Unable to Uninstall” and gives you message something like e-Discovery or retention polity contact Administrator.

Such case if you try to deploy app using Visual Studio then you will get error:

here 2 errors will display

Script to Uninstall:

Function Get-ClientContext([string]$Url,[string]$UserName,[string]$Password)
    $SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force
    $context = New-Object Microsoft.SharePoint.Client.ClientContext($Url)
    $context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword)
    return $context

Function Uninstall-AppInstance([Microsoft.SharePoint.Client.ClientContext]$Context,[Guid]$AppInstanceId)
    $appInst = $Context.Web.GetAppInstanceById($AppInstanceId)

$UserName = ""
$Password = Read-Host -Prompt "Enter the password"    
$Url = ""
$AppInstanceid = New-Object Guid("XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX")  #specify App Instance Id here

$context = Get-ClientContext -Url $Url -UserName $UserName -Password $Password
Uninstall-AppInstance -Context $context -AppInstanceId $AppInstanceid

How to get App Instance Id:

Click on App setting (…)AppID.png

Click Details of App

Check the URL: (Ex:

App Instance ID: ccf0108c-f95c-489f-91fe-b1345a7f27de

This way we can get App Instance ID and using above PS script let us delete app.