SharePoint Server 2016 Configuration Wizard Issue: The ‘ListInternal’ Attribute is Not Allowed

By | December 20, 2016

I came across this particular issue while I was deploying a single server SharePoint Server 2016 farm on Azure for a testing purpose. I had successfully deployed SharePoint Server 2016 few times before on Azure VMs by downloading the ISO file from MSDN. I haven’t had this particular issue until I tried to deploy a test environment using the SharePoint Server 2016 Trial template from the Azure Marketplace. Once I proceeded through the configuration wizard, I was given the following error.

SharePoint Server 2016 Configuration Wizard Error

Since it was a test environment, I didn’t bother much and just went ahead and created a new VM using the same template and I was given the same error once again. This time I decided that it’s wise to diagnose the issue and following was my diagnosis and how did I overcome of the issue.

The log file had the following error logged;

12/14/2016 04:56:53  9  ERR  Exception: System.Xml.Schema.XmlSchemaException: Feature definition with Id ca7bd552-10b1-4563-85b9-5ed1d39c962a failed validation, file ‘fieldswss4.xml’, line 68, character 9:
The ‘ListInternal’ attribute is not allowed. —> System.Xml.Schema.XmlSchemaValidationException: The ‘ListInternal’ attribute is not allowed.

According to the error message, the wizard failed to create the configuration database. Reason being, the ‘ListInternal’ attribute in ‘fieldswss4.xml’ file was not allowed. Looking at the file in question revealed that following 4 fields had references to the attribute in question.

<Field ID="{4df6bfaf-f887-424e-8ea3-fd050113e7a9}"
   Name="SMTotalSize"
   SourceID="http://schemas.microsoft.com/sharepoint/v3"
   StaticName="SMTotalSize"
   Group="_Hidden"
   ColName="TotalSize"
   RowOrdinal="0"
   ReadOnly="TRUE"
   Type="Lookup"
   List="Docs"
   ListInternal="StorageMetrics"
   ShowField="SMTotalSize"
   JoinColName="Id"
   DisplayName="$Resources:core,StorageMetrics_TotalSize;">
</Field>
<Field ID="{d340fca5-f503-4baa-bae9-90f1447ebff6}"
   Name="SMLastModifiedDate"
   SourceID="http://schemas.microsoft.com/sharepoint/v3"
   StaticName="SMLastModifiedDate"
   Group="_Hidden"
   ColName="LastModifiedDate"
   RowOrdinal="0"
   ReadOnly="TRUE"
   Type="Lookup"
   List="Docs"
   ListInternal="StorageMetrics"
   ShowField="SMLastModifiedDate"
   JoinColName="Id"
   DisplayName="$Resources:core,StorageMetrics_LastModifiedDate;">
</Field>
<Field ID="{1FAA4902-9115-44B9-BBA7-791441CA1D6F}"
   Name="SMTotalFileStreamSize"
   SourceID="http://schemas.microsoft.com/sharepoint/v3"
   StaticName="SMTotalFileStreamSize"
   Group="_Hidden"
   ColName="DocSize"
   RowOrdinal="0"
   ReadOnly="TRUE"
   Type="Lookup"
   List="Docs"
   ListInternal="StorageMetrics"
   ShowField="SMTotalFileStreamSize"
   JoinColName="Id"
   DisplayName="$Resources:core,StorageMetrics_TotalFileStreamSize;">
</Field>
<Field ID="{A261B12A-8CA2-47FA-A117-05861D637C7E}"
   Name="SMTotalFileCount"
   SourceID="http://schemas.microsoft.com/sharepoint/v3"
   StaticName="SMTotalFileCount"
   Group="_Hidden"
   ColName="DocCount"
   RowOrdinal="0"
   ReadOnly="TRUE"
   Type="Lookup"
   List="Docs"
   ListInternal="StorageMetrics"
   ShowField="SMTotalFileCount"
   JoinColName="Id"
   DisplayName="$Resources:core,StorageMetrics_TotalFileCount;">
</Field>

At this point, I decided to delete lines of ‘ListInternal’ and try again with the wizard, which was successful. However, I felt that it shouldn’t be followed in a production environment, and was not the best approach to resolve this problem. According to the error log, the exception was due to an XML schema validation failure. After a little more digging on the matter, I was able to find out that the ‘ListInternal’ attribute was missing from the XML schema file ‘wss.xsd’. To test, spun off a new VM using SharePoint Server 2016 Trial template from Azure Marketplace, went through the configuration wizard to make sure that the issue was existing, opened the ‘wss.xsd’ file in the ‘C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\TEMPLATE\XML’ folder, and added the following line.

<xs:attribute name="ListInternal" type="xs:string" />
Editing wss.xsd File for ListAttribute

Editing wss.xsd File for ListAttribute

After saving the file, I went ahead in the configuration wizard again and it was a success. I believe this is the most suitable approach to this particular issue and hope this will help you too. 🙂

5 thoughts on “SharePoint Server 2016 Configuration Wizard Issue: The ‘ListInternal’ Attribute is Not Allowed

  1. Mirosław Ziółkowski

    Thanks a lot for Your article. The same issue appears when User try to save site as template, however Your solution solves that problem too

    Best regards

    Reply
  2. Giovanni

    Hi
    After having this error several times, i am quite sure that its the visual studio installation, that does this “overwrite”, that causes this error. Since it only happening in my dev-environments, where exact the visual studio where installed after SP.
    – Tried several copy/paste of folders in C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\…
    – ended up reisntalling SP – solved and supported 🙁

    Reply

Leave a Reply