MissingWebPart and Missing Assembly
MissingFeature
MissingSetupFile
However there is no well known process for dealing with MissingSiteDefinition references which look like this message:
[MissingSiteDefinition] 1 Sites in database [] has reference(s) to a missing site definition, Id = [75820], Lcid = [1033]. The site definitions with Id 75820 is referenced in the database [], but is not installed on the current farm. The missing site definition may cause upgrade to fail. Please install any solution which contains the site definition and restart upgrade if necessary.
The site definition does not seem to be used or depended on anywhere inside of SharePoint, it only seems to be used for loading resources from the 14 hive. However there is no way through stsadm or powershell to change the site definition for an existing site which means once a site is created there is no way to change the site definition. This can be very troublesome because a lot of backup / restore and import / export commands require an existing site with the same site definition as the original, making these processes impossible to execute on sites with a missing site definition. If you find yourself in this situation I have developed this process for changing the site definition of a site back to a blank site.
NOTE: This process involves editing files that Microsoft does not support editing for, so this process is use at your own risk. Make sure to implementing extensive testing before deleting the original content.
- Create a new blank site that will be used for testing.
- In powershell export original site: Export-SPWeb http://site.url/ -IncludeVersions 4 -IncludeUserSecurity -path \\put\files\here -NoFileCompression (Exporting with no file compression is the key make sure to include it)
- Edit Manifest.xml change the Configuration attribute to 1 if it is another number.
- In the Manifest.xml file change the attribute WebTemplate to "STS"
- Edit Requirements.xml change the attribute WebTemplate ID to STS#1
- In powershell import into the previously created blank site: Import-SPWeb https://blank.url/ -path \\put\files\here -NoFileCompression -IncludeUserSecurity
- Verify test site!
- Delete original site
- Create new blank site with original site's url and site collection administrators
- Import into the just created blank site using same command and files as in step #5
- Verify new site
- Empty recycle bins