SharePoint Server Migration : Lot of WebParts not found during Mount-SPContentDatabase (Error in ULS: “Safe mode did not start successfully”)

Today I’m preparing a migration of SharePoint Server 2016 to 2019. On-Premisses, of course.

Now I was ready to attach the old content databases. In doing so, I got an unexpected number of errors (actually with Test-SPContentDatabase):

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [d776845d-b1cd-923a-a779-01ecd8ef5bc6] (class [Microsoft.SharePoint.Portal.WebControls.SiteFeedWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced 
                  [2] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [b708fcb7-f3d7-5790-5692-03d08798aa5b] (class [Microsoft.SharePoint.Portal.WebControls.ProjectSummaryWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [643e64f2-f484-0c7d-cbda-044ed3c44a46] (class [Microsoft.SharePoint.Portal.WebControls.MySharedContext] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced 
                  [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [70a3a34b-5605-b4b6-a17c-05d844c3c78d] (class [Microsoft.SharePoint.Portal.WebControls.FollowedCountsWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [79bd35e7-9add-ed7f-9098-08ce54fcf2a7] (class [Microsoft.SharePoint.Portal.WebControls.SocialCommentWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [3fbacd03-20cb-fbb9-8306-1ef66af965ec] (class [Microsoft.SharePoint.WebPartPages.GettingStartedWebPart] from assembly [Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [2] 
                  times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [4fd17205-2e2b-7562-486c-20bd9691bee7] (class [Microsoft.SharePoint.WebPartPages.AccessRequestsHideOldRequestsOnLoad] from assembly [Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [12] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [058f341f-7b40-b2d6-8cda-21028ff4c6a1] (class [Microsoft.SharePoint.Portal.WebControls.TaggedPeopleListWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [c01b6c09-055e-cb41-31be-24a416ce5049] (class [Microsoft.SharePoint.Portal.WebControls.TaggedUrlListWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [c7060141-4bde-d951-d38c-456e813ef16c] (class [Microsoft.SharePoint.Portal.WebControls.ProfileManages] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced 
                  [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [ea9c1dd0-2027-3ab1-b0ee-48212f8d9179] (class [Microsoft.SharePoint.WebPartPages.BlogLinksWebPart] from assembly [Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [150] times 
                  in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [d3ccbd27-51f0-eb57-a603-5556d226a05a] (class [Microsoft.SharePoint.WebPartPages.AccessRequestsCSRBridge] from assembly [Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [12] 
                  times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [7006b443-3b00-fe16-e42d-57927cc2be83] (class [Microsoft.SharePoint.Portal.WebControls.ProfileInfoWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [b1297093-6459-24ae-d353-5955b4ae3817] (class [Microsoft.SharePoint.WebPartPages.BlogYearArchive] from assembly [Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [75] times in 
                  the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [b2922567-b718-19c2-0c2b-5b45ba6f4fb6] (class [Microsoft.SharePoint.Portal.WebControls.BlogView] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced [261] 
                  times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [d6c8eb8f-cf28-daff-5b14-5edeab655f18] (class [Microsoft.Office.Server.Search.WebControls.AnalyticsHashTagWebPart] from assembly [Microsoft.Office.Server.Search, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) 
                  is referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [2758321d-777a-1b90-79a1-696d87c1489b] (class [Microsoft.SharePoint.Portal.WebControls.ProjectSearchBrowseWebpart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [520] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [6d04058e-47c5-c17e-d161-720d39d0d03c] (class [Microsoft.SharePoint.Portal.WebControls.PeopleWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced 
                  [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [1c7111a3-2641-c283-6ced-92afa899c8bf] (class [Microsoft.SharePoint.Portal.WebControls.MySitePersonalSiteUpgradeOnNavigationWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, 
                  PublicKeyToken=71e9bce111e9429c]) is referenced [2] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [43a3910c-1a88-b4e4-03af-a6a49d1c6a48] (class [Microsoft.SharePoint.Portal.WebControls.PublishedFeedWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [521] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [7d38305c-72db-5f93-84c0-aa52134537df] (class [Microsoft.SharePoint.Portal.WebControls.SiteDocuments] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced 
                  [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [297bb5ba-8a6a-857a-b1ff-bef20d6fd130] (class [Microsoft.SharePoint.Portal.WebControls.MicroFeedWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is referenced 
                  [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [ffdc5ac7-c118-e42d-79b6-c16470839314] (class [Microsoft.SharePoint.Portal.WebControls.TagInformationWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [125081f0-f733-06c1-adbf-c8ac70f77368] (class [Microsoft.SharePoint.Portal.WebControls.SharedWithMeViewWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [260] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [e85e13c0-9275-6d9e-eb9b-d99582fa6ad4] (class [Microsoft.SharePoint.Portal.WebControls.MySiteFirstRunExperienceWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, 
                  PublicKeyToken=71e9bce111e9429c]) is referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [39a4b0f2-ab3e-f990-3dcf-e1423f3fc5c1] (class [Microsoft.SharePoint.Portal.WebControls.PromotedSitesViewWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [260] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [eab55457-f90a-9c12-d08c-e6bcf8e9cc08] (class [Microsoft.SharePoint.Portal.WebControls.AskMeAboutWebPart] from assembly [Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [1] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Category        : MissingWebPart
Error           : True
UpgradeBlocking : False
Message         : WebPart class [8f849c2c-345c-7fe5-e38c-ef599fc36fcf] (class [Microsoft.SharePoint.WebPartPages.AccessRequestsHideOldRequestsLink] from assembly [Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]) is 
                  referenced [12] times in the database [ContentDatabase], but is not installed on the current farm. Please install any feature/solution which contains this web part.
Remedy          : One or more web parts are referenced in the database [ContentDatabase], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
Locations       : 

Please excuse the long list… It should make it clear that many standard web parts of SharePoint are affected here.

I have installed SharePoint Server 2019 in the last few days, including the latest updates:

During content database migration (Mount-SPContentDatabase) I saw this errors (and many more like this):

First:

Error: Failure in loading assembly: Microsoft.SharePoint.ApplicationPages, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

Second:

Safe mode did not start successfully. Microsoft.SharePoint.WebPartPages.WebPartPageUserException: This page has encountered a critical error. Contact your system administrator if this problem persists.    
 at Microsoft.SharePoint.ApplicationRuntime.SafeControlsList.InitSafeControlsInfoFromConfig(Boolean inNonVRootAppDomain, SafeControlsContainer safeControlsContainer, SPWebApplication app, SPUrlZone zone)    
 at Microsoft.SharePoint.ApplicationRuntime.SafeControlsList..ctor(SPWebApplication app, SPUrlZone zone)    
 at Microsoft.SharePoint.ApplicationRuntime.SafeControls..ctor(SPWebApplication app, SPUrlZone zone)

Solution…

After a bit of thinking about the problem and some trial and error, it occurred to me that it might have something to do with the problem that was also described on Stefan Gossner’s blog:

See there! The errors I found are also described directly in the screenshot. Although I have been dealing with this problem over the last few days, I had forgotten that the Test-SPContentDatabase command is also affected, as Stefan writes.

So I reset the change in the web.config for each web application for the migration:

  <SafeControl Assembly="Microsoft.SharePoint.ApplicationPages, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.ApplicationPages" TypeName="SPThemes" Safe="False" AllowRemoteDesigner="False" SafeAgainstScript="False" />

becomes…

  <SafeControl Assembly="Microsoft.SharePoint.ApplicationPages, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.ApplicationPages" TypeName="SPThemes" Safe="True" AllowRemoteDesigner="False" SafeAgainstScript="False" />

Until there is an official fix, the “Safe” attribute should be set back to “False” after the migration and before going live. Although some PowerShell commands will then not work again, as described in Stefan’s blog.