locked
“Field type is not installed properly. Go to the list settings page to delete this field” shareoint 2013 cannot delete Site columns RRS feed

  • Question

  • We had a custom solution and it has been deleted but now we cant delete SITE COLUMNS. 

    error is “Field type is not installed properly. Go to the list settings page to delete this field” 

    and also "Site columns which are included in content types cannot be deleted. Remove all references to this site column prior to deleting it."

    How to delete site columns now?


    omkar acharya

    ULS logs show :

    Application error when access /_layouts/15/fldedit.aspx, Error=Field type WikiPlus is not installed properly. Go to the list settings page to delete this field.   
     at Microsoft.SharePoint.SPFieldCollection.CreateSPFieldFromSafeArray(Int32 index)    
     at Microsoft.SharePoint.SPFieldCollection.CreateSPField(Int32 ifld)    
     at Microsoft.SharePoint.SPFieldCollection.EnsureSPField(Int32 index)    
     at Microsoft.SharePoint.ApplicationPages.ContentTypePageUtil.FetchFieldGroups(ICollection fields, Control listExistingGroup, String defaultGroup, String firstGroup)    
     at ASP._layouts_15_fldedit_aspx.__Render__control13(HtmlTextWriter __w, Control parameterContainer)    
     at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)    
     at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)    
     at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)    
     at Microsoft.SharePoint.WebControls.AjaxDelta.RenderChildren(HtmlTextWriter output)    
     at System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer)    
     at System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)    
     at Microsoft.SharePoint.WebControls.AjaxDelta.Render(HtmlTextWriter writer)    
     at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)    
     at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)    
     at System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer)    
     at System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)    
     at Microsoft.SharePoint.WebControls.SharePointForm.Render(HtmlTextWriter output)    
     at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)    
     at System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer)    
     at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)    
     at System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer)    
     at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)    
     at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)    
     at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)    
     at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)    
     at Microsoft.SharePoint.WebControls.UnsecuredLayoutsPageBase.RenderChildren(HtmlTextWriter writer)    
     at System.Web.UI.Page.Render(HtmlTextWriter writer)    
     at Microsoft.SharePoint.WebControls.DeltaPage.RenderToBase(HtmlTextWriter writer)    
     at Microsoft.SharePoint.WebControls.DeltaPage.Render(HtmlTextWriter writer)    
     at Microsoft.SharePoint.WebControls.UnsecuredLayoutsPageBase.Render(HtmlTextWriter writer)    
     at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)    
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    SPRequest.GetGlobalContentTypeXml: UserPrincipalName=i:0).w|s-1-5-21-935981524-3360503449-101602611-4249826, AppPrincipalName= ,bstrUrl=/it/sites02 ,type=0 ,lcid=0

    Failed to create field: Field type WikiPlus is not installed properly. Go to the list settings page to delete this field. .

    Unable to locate the xml-definition for FieldName with FieldId '4c0fd400-33fe-40b1-af5a-c3b4b182e5c7', exception: Microsoft.SharePoint.SPException: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)) ---> System.Runtime.InteropServices.COMException: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))    
     at Microsoft.SharePoint.Library.SPRequestInternalClass.GetGlobalContentTypeXml(String bstrUrl, Int32 type, UInt32 lcid, Object varIdBytes)    
     at Microsoft.SharePoint.Library.SPRequest.GetGlobalContentTypeXml(String bstrUrl, Int32 type, UInt32 lcid, Object varIdBytes)     -
     -- End of inner exception stack trace ---    
     at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)    
     at Microsoft.SharePoint.Library.SPRequest.GetGlobalContentTypeXml(String bstrUrl, Int32 type, UInt32 lcid, Object varIdBytes)    
     at Microsoft.SharePoint.SPFieldCollection.FetchFieldsFromWeb()

    Tuesday, April 9, 2019 3:05 PM

All replies

  • Hey

    As the error says, you need to find all places that referred to the custom field delete them.

    And then delete the root site column one.

    If you already cannot access the column edit page, you need to redeploy your custom field solution first and delete the column then delete the solution again.


    Justin Liu Office Apps & Services MVP, MCSE
    Senior Software Engineer
    Please Vote and Mark as Answer if it helps you.

    Wednesday, April 10, 2019 5:16 AM
  • Hi,

    Your need to find and remove both the content types that use the site column and also any lists or libraries that use the site column you are trying to delete. Use below PowerShell to get the site column object:

    $column = $web.Fields[“Column Display Name”]

    Then find all the places where it is used, using something like below, which spits out two GUIDs -- the WebID and ListID -- of every place that uses this content type.

    $column.ListsFieldUsedIn()

    Below is a PowerShell script that loops over all the list GUIDs returned from ListFieldUsedIn() and then finds the subweb and list matching that GUID and prints out list name and subweb URL for each usage :

    $site = Get-SPSite "http://sharepoint"
    $rootweb = $site.rootweb
    $siteColumnToRemove = "Column Display Name”
    $sc = $rootweb.Fields[$siteColumnToRemove]
    if ($sc)
    {
        write-host "  Found Site Column '" $sc.Title "' in gallery" -ForegroundColor Gray
        foreach( $listusage in $sc.ListsFieldUsedIn() )
        {
            $listID = $listusage.ListID            
            foreach ($subweb in $site.allwebs)
            {
                foreach ($list in $subweb.lists)
                {
                    if ($list.ID -eq $listID)
                    {                     
                         write-host "    Site Column '" $sc.Title "' used in list '" $list.Title "' in site '" $subweb.Url "'" -BackgroundColor Yellow -ForegroundColor Black
                    }
                }
            }
        }
    }

    You can also refer to below article, it may be useful to you:

    https://vintentou.wordpress.com/2012/05/01/site-columns-which-are-included-in-content-types-or-on-lists-cannot-be-deleted/

    Best regards,

    Allen Bai


    Please remember to mark the replies as answers if they helped. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    SharePoint Server 2019 has been released, you can click here to download it.
    Click here to learn new features. Visit the dedicated forum to share, explore and talk to experts about SharePoint Server 2019.

    Wednesday, April 10, 2019 7:40 AM
  • solution was retracted 3-4 years back and we dont have license for it now.

    is there any other way to delete?


    omkar acharya

    Wednesday, April 17, 2019 10:37 AM
  • script doesnt work and return any output. Can you help?

    omkar acharya

    Wednesday, April 17, 2019 10:42 AM
  • Hi,

    What is the error message? 

    Best regards,

    Allen Bai


    Please remember to mark the replies as answers if they helped. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    SharePoint Server 2019 has been released, you can click here to download it.
    Click here to learn new features. Visit the dedicated forum to share, explore and talk to experts about SharePoint Server 2019.

    Thursday, April 18, 2019 9:27 AM