Upgrade session failed. 3 errors and 0 warnings encountered.

It was not my day. At the beginning everything seemed to work clean. The installation of CU December 2011 for Sharepoint 2010 works without any incidents. Even in the pre-production enviroment too.

Lets update the sharepoint:

psconfig -cmd upgrade -inplace b2b -wait -force

As luck would have it, the upgrade failed.

[PSCONFIG] [SPUpgradeSession] [INFO] [2/23/2012 11:37:21 PM]: Upgrade session failed. 3 errors and 0 warnings encountered.

That was the beginning of sleepless nights🙂

#1 Failed to add the service connection point for this farm

#2 Found a missing feature

#3 Exception: The system cannot find the path specified

After troubleshooting the following errors I was able to update the SharePoint properly.

100.00% Successfully upgraded SharePoint Products. 

Like a baws! Not even Chuck Norris can update SharePoint inplace😉

#3 Exception: The system cannot find the path specified

That was one of my issues during the update of December 2011 CU for SharePoint 2010

Upgrade Log

[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:42:53 PM]: CanUpgrade [Microsoft.SharePoint.Administration.SPIisWebSite] failed.
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:42:53 PM]: Exception: The system cannot find the path specified.

[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:42:53 PM]: at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at Microsoft.SharePoint.Administration.SPIisVirtualDirectory.get_Path()
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.GetBuildVersionOnIisWebSite(Int32 iisInstanceId)
at Microsoft.SharePoint.Upgrade.SPSequence.get_CanUpgrade()
at Microsoft.SharePoint.Upgrade.SPUpgradeSession.CanUpgrade(Object o)
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:42:53 PM]: Cannot upgrade [Microsoft.SharePoint.Administration.SPIisWebSite].

[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:43:34 PM]: CanUpgrade [Microsoft.SharePoint.Administration.SPIisWebSite] failed.
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:43:34 PM]: Exception: The system cannot find the path specified.

[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:43:34 PM]: at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at Microsoft.SharePoint.Administration.SPIisVirtualDirectory.get_Path()
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.GetBuildVersionOnIisWebSite(Int32 iisInstanceId)
at Microsoft.SharePoint.Upgrade.SPSequence.get_CanUpgrade()
at Microsoft.SharePoint.Upgrade.SPUpgradeSession.CanUpgrade(Object o)

Upgrade Error Log

[PSCONFIG] [SPUpgradeSession] [INFO] [3/1/2012 7:42:53 PM]: SPWebApplication Name=SharePoint – youwebapplication443
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:42:53 PM]: CanUpgrade [Microsoft.SharePoint.Administration.SPIisWebSite] failed.
[PSCONFIG] [SPUpgradeSession] [INFO] [3/1/2012 7:42:53 PM]: SPWebApplication Name=SharePoint – youwebapplication443
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:42:53 PM]: Exception: The system cannot find the path specified.

[PSCONFIG] [SPUpgradeSession] [INFO] [3/1/2012 7:42:53 PM]: SPWebApplication Name=SharePoint – youwebapplication443
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:42:53 PM]: at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at Microsoft.SharePoint.Administration.SPIisVirtualDirectory.get_Path()
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.GetBuildVersionOnIisWebSite(Int32 iisInstanceId)
at Microsoft.SharePoint.Upgrade.SPSequence.get_CanUpgrade()
at Microsoft.SharePoint.Upgrade.SPUpgradeSession.CanUpgrade(Object o)
[PSCONFIG] [SPUpgradeSession] [INFO] [3/1/2012 7:42:53 PM]: SPWebApplication Name=SharePoint – youwebapplication443
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:42:53 PM]: Cannot upgrade [Microsoft.SharePoint.Administration.SPIisWebSite].
[PSCONFIG] [SPUpgradeSession] [INFO] [3/1/2012 7:43:34 PM]: No context object
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:43:34 PM]: CanUpgrade [Microsoft.SharePoint.Administration.SPIisWebSite] failed.
[PSCONFIG] [SPUpgradeSession] [INFO] [3/1/2012 7:43:34 PM]: No context object
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:43:34 PM]: Exception: The system cannot find the path specified.

[PSCONFIG] [SPUpgradeSession] [INFO] [3/1/2012 7:43:34 PM]: No context object
[PSCONFIG] [SPUpgradeSession] [ERROR] [3/1/2012 7:43:34 PM]: at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.PropertyValueCollection.PopulateList()
at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName)
at System.DirectoryServices.PropertyCollection.get_Item(String propertyName)
at Microsoft.SharePoint.Administration.SPIisVirtualDirectory.get_Path()
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.GetBuildVersionOnIisWebSite(Int32 iisInstanceId)
at Microsoft.SharePoint.Upgrade.SPSequence.get_CanUpgrade()
at Microsoft.SharePoint.Upgrade.SPUpgradeSession.CanUpgrade(Object o)

Missing zones?

I found someone with a common issue. Thanks a lot to chris:

http://blogs.architectingconnectedsystems.com/blogs/cjg/archive/2012/01/09/CanUpgrade-_5B00_Microsoft.SharePoint.Administration.SPIisWebSite_5D00_-failed_2E00_.aspx

Firstly, I checked the Alternate Access Mappings at the central admin. But that seemed to be alright.

Then I tried to get more information from the powershell out about this webapplication.

$webapp = get-spwebapplication “http://yourfailedurl

foreach($setting in $webapp.iissettings.values)
{
$setting.path
}

foreach($zone in $webapp.iissettings.keys)
{
$z = $zone

echo $zone
}

> Default
> Intranet

Intranet? That should not be. We use only the default zone. This is probably happening at the first installation. Nevertheless, use the following code to remove it:

$webapp = get-spwebapplication “http://yourfailedurl

foreach($setting in $webapp.iissettings.values)
{
$setting.path
}

foreach($zone in $webapp.iissettings.keys)
{
$z = $zone
}

$webapp.IisSettings.Remove(“intranet”)
$webapp.update()

Now try your PSConfig upgrade again.

#2 Found a missing feature

That was one of my issues during the update of December 2011 CU for SharePoint 2010

Upgrade Log

[PSCONFIG] [SPContentDatabaseSequence] [ERROR] [2/23/2012 10:25:36 PM]: Found a missing feature Id = [8167bc9f-98dc-4b2c-abf5-0a6a55723ca5], Name = [Communardo Senden von Dokumenten als E-Mail-Anhang], Description = [Senden von Dokumenten aus Dokumentenbibliotheken als E-Mail-Anhang], Install Location = [Communardo.SendDocumentAsAttachment]

Finding faulty features

Although I have remove the feature, something left over. For that case I used the Feature Admin for Sharepoint 2010.  Simple and sexy.

http://featureadmin.codeplex.com/releases/view/74732

http://get-spscripts.com/2011/06/removing-features-from-content-database.html

#1 Failed to add the service connection point for this farm

That was one of my issues during the update of December 2011 CU for SharePoint 2010

PSCDiagnostics Log

02/23/2012 22:21:15 8 INF Creating service connection point for this farm …
02/23/2012 22:21:16 8 WRN Failed to add the service connection point for this farm
02/23/2012 22:21:16 8 INF Entering function StringResourceManager.GetResourceString
02/23/2012 22:21:16 8 INF Resource id to be retrieved is ServiceConnectionPointNotCreatedEventLog for language English (United States)
02/23/2012 22:21:16 8 INF Resource retrieved id ServiceConnectionPointNotCreatedEventLog is Unable to create a Service Connection Point in the current Active Directory domain. Verify that the SharePoint container exists in the current domain and that you have rights to write to it.
02/23/2012 22:21:16 8 INF Leaving function StringResourceManager.GetResourceString
02/23/2012 22:21:16 8 WRN Unable to create a Service Connection Point in the current Active Directory domain. Verify that the SharePoint container exists in the current domain and that you have rights to write to it.
Microsoft.SharePoint.SPException: The object LDAP://CN=Microsoft SharePoint Products,CN=System,DC=yoursubdomain,DC=domain,DC=ch doesn’t exist in the directory.
at Microsoft.SharePoint.Administration.SPServiceConnectionPoint.Ensure(String serviceBindingInformation)
at Microsoft.SharePoint.PostSetupConfiguration.UpgradeTask.Run()
02/23/2012 22:21:44 8 INF Entering function TaskCommon.TraceToPsconfigLogAndUpgradeManagerLog
02/23/2012 22:21:44 8 INF Not spawing off the upgrade job, but rather running upgrade synchronously by calling SPFarm.Local.Upgrade() for inplace upgrade
02/23/2012 22:21:44 8 INF Leaving function TaskCommon.TraceToPsconfigLogAndUpgradeManagerLog
02/23/2012 22:30:42 8 ERR Task upgrade has failed with an unknown exception
02/23/2012 22:30:42 8 ERR Exception: Microsoft.SharePoint.Upgrade.SPUpgradeException: Upgrade completed with errors. Review the upgrade log file located in D:\Sharepoint\14.0\LOGS\Upgrade-20120223-221942-92.log. The number of errors and warnings is listed at the end of the upgrade log file.
at Microsoft.SharePoint.Upgrade.SPUpgradeSession.CheckPoint()
at Microsoft.SharePoint.Upgrade.SPUpgradeSession.LogEnd()
at Microsoft.SharePoint.PostSetupConfiguration.UpgradeTask.Run()
at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()

If you encounter this fault, check in advance your configuration:

Get-SPFarmConfig -ServiceConnectionPoint

If it is empty have a look at your active directory with AdsiEdit.msc. 

In fact, there was no SCP (Service Connection Point) on our AD.  It has gone forgotten at the first installation. Nevermind, you can create this SCP manually.

CN=Microsoft Sharepoint Products,CN=System,DC=subdomain,DC=yourdomain,DC=ch

It is advantageous to use the standard path so that will certainly not be overlooked if somebody else create a  SCP for a new sharepoint farm. If your Active Directory administrator insist to use a custom container you can define it in the registry. For that create a new key called ContainerDistiguishedName in

HKEY_LOCAL_MACHINE\SOFTWARE\Polices\Microsoft\SharePoint\

Well, let’s do it:

  1. open AdsiEdit.msc
  2. connect, usually with Default naming context
  3. navigate to CN=system or what the admin says
  4. create a new object as container, called Microsoft SharePoint Products
  5. Delegate the security option of this container. Delegate Authenticated User with write and read permisson. I know, thats a security issue, but makes sharepiont admin’s life much easier for further farm installations.
  6. Now create a SCP with sharepoint powershell:

$TopURI = get-SPTopologyServiceApplication | select URI

Set-SPFarmConfig -ServiceConnectionPointBindingInformation $TopURI

If you did it correctly, you will see a new entry. If you do it for many farms, you can identify it at the attribute ServiceBindingInformation. 

Tagged ,