One day after developing document library file template solution on my SharePoint 2016 dev machine, all SharePoint web application pools started to crash, SharePoint services could not started, SharePoint PowerShell snapins could not be loaded.
Only change in server configuration before that tragic moment was installation of Microsoft Office 2016 package.
All google results currently point to bad application pool account or wrong permission to SQL database. But this would be a little wierd because no changes were made in that way.
After inspection a situation from logs I found out that SharePoint 2016 simply forgets where it’s installed after Microsoft Office 2016 installation.
Here is a few details on some of the manz sympotms I have seen:
- SharePoint Powershell could not connect to the farm:
Could not read the XML Configuration file in the folder 16\CONFIG\PowerShell\Registration\. Could not find a part of the path 'C:\Windows\System32\16\CONFIG\PowerShell\Registration'. No xml configuration files loaded. Unable to register core product cmdlets. Could not read the Types files in the folder 16\CONFIG\PowerShell\types\. Could not find a part of the path 'C:\Windows\System32\16\CONFIG\PowerShell\types'. "No Types files Found." Could not read the Format file in the folder 16\CONFIG\PowerShell\format\. Could not find a part of the path 'C:\Windows\System32\16\CONFIG\PowerShell\format'. No Format files Found.
- SharePoint services would not run. We got this message:
Error 1053: The service did not respond to the start or control request in a timely fashion
- SharePoint Products Configuration Wizard reported that it “Failed to detect if this server is joined to a server farm”:
- Many errors in the Windows logs
Missing HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\16.0\Location value in the registry.
After adding C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ value to Location all services and other stuff went back online after server restart.
IMPORTANT: Do not forget to add last backslash after 16 in path above.