Common problem with March 2018 security fixes for SharePoint 2013 – AccessKey too long, cannot be more than one character

We received reports from several customers about a problem in the March 2018 security fixes for SharePoint 2013. The full server packages of March 2018 CU are not affected by the problem.
Performing actions in the User Profile Service Application like clicking on Configure Synchronization Settings or Start Profile Synchronization returns an error page and the following error in the ULS logs:

Application error when access /_layouts/15/ProfileSynchronizationServiceProvisionPage.aspx, Error=AccessKey too long, cannot be more than one character. Parameter name: value
 at System.Web.UI.WebControls.WebControl.set_AccessKey(String value)
 at Microsoft.SharePoint.Portal.WebControls.InputFormButtonAtBottom.set_AccessKeyLocId(LocStringId value)
 at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control11()
 at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControlProfileSyncProvisionSettingsForm()
 at ASP._layouts_15_profilesynchronizationserviceprovisionpage_aspx.__BuildControl__control4(Control __ctrl)
 at System.Web.UI.MasterPage.InstantiateInContentPlaceHolder(Control contentPlaceHolder, ITemplate template)
 at ASP._admin_admin_master.__BuildControlDeltaPlaceHolderMain()
 at ASP._admin_admin_master.__BuildControl__control27()
 at ASP._admin_admin_master.__BuildControlSPHtmlTag()
 at ASP._admin_admin_master.__BuildControlTree(_admin_admin_master __ctrl)
 at System.Web.UI.MasterPage.CreateMaster(TemplateControl owner, HttpContext context, VirtualPath masterPageFile, IDictionary contentTemplateCollection)
 at System.Web.UI.Page.ApplyMasterPage()
 at System.Web.UI.Page.PerformPreInit()
 at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

We are currently investigating the root cause for the issue.
There is a very simple solution for the problem. To fix the issue follow the steps below:

  1. Delete the content of the following folder:
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

    1. Restart IIS (e.g. using IISRESET)

    This will ensure that the affected ASPX pages get recompiled.

    4 Comments


    1. Thanks for posting this. Very easy fix but so annoying! One thing to mention, this also prevents the ability to edit any user profile properties.

      Reply

    2. Seems to be the files on the server that is hosting Central Admin. Also the error message in the SharePoint ULS log only appears in THAT server’s log.

      Reply

    3. In my case it was necessary to stop the iis services first, then delete the temp files and then restart iis services.

      Reply

    4. Definitely need to stop IIS first, or files in use will prevent the deletion 😉

      -jb

      Reply

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.