Nick Grattan's Blog

About Microsoft SharePoint, .NET, Natural Language Processing and Machine Learning

Archive for the ‘SharePoint Administration’ Category

Creating single server SharePoint 2013 trial for Windows Azure

with one comment

Creating virtual machines with Azure is a great way of standing up test servers, especially for SharePoint where the installation can be long.

You can create a SharePoint Server 2014 trial server from Azure by first selecting “From Gallery”:

ScreenHunter_99 Apr. 21 15.23

And then select the “SharePoint Server 2013 Trial”

ScreenHunter_98 Apr. 21 15.21

The problem with this is that SharePoint is already installed for a farm installation and therefore cannot be installed as a standalone server. As the description provided by Microsoft states, you will need to create another virtual machine for SQL Server and possibly another for a domain controller with Active Directory.

To circumvent this issue you can:

  1. Create the VM using the gallery in Azure as shown above
  2. Install SQL Server Express 2012 on the newly create VM
  3. Create a new farm using the   New-SPConfigurationDatabase PowerShell command
  4. Run the SharePoint Products Configurations Wizard and join the farm you’ve just created.

The last three steps are described in this excellent blog article:

Written by Nick Grattan

April 22, 2014 at 1:00 am

Exception in MergeAspSiteMapFiles for “SharePoint 2010 Products Configuration Wizard” (PSConfig)

with one comment

Recently, I’ve found that a SharePoint farm failed to update when running the “SharePoint 2010 Products Configuration Wizard” or when running PSConfig directly. The PSConfig log file in the 14 hive contained the following exception information:

07/12/2012 16:18:22  9  ERR                  Failed to install the application content files.
An exception of type System.Xml.XmlException was thrown.  Additional exception information: Name cannot begin with the '\' character, hexadecimal value 0x5C. Line 5, position 2.
System.Xml.XmlException: Name cannot begin with the '\' character, hexadecimal value 0x5C. Line 5, position 2.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
   at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(String filename)
   at Microsoft.SharePoint.Administration.SPAspSiteMapFile.MergeAspSiteMapFiles(XmlDocument xmldocSiteMap, String strSrcFilePath, String strMergeFilePattern)
   at Microsoft.SharePoint.Administration.SPAspSiteMapFile.Copy(String strSrcDir, String strSrcLeaf, String strDestDir, Boolean bMergeMaps, Boolean bBackupExistingFile)
   at Microsoft.SharePoint.Administration.SPAdministrationWebApplication.CopyAdminAppDomainDirectories(DirectoryInfo virtualDirectoryPath, OverwriteSetting overwrite)
   at Microsoft.SharePoint.Administration.SPWebService.ApplyApplicationContentToLocalServer()
   at Microsoft.SharePoint.PostSetupConfiguration.ApplicationContentTask.Run()
   at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
07/12/2012 16:18:22  9  INF                  Entering function TaskDriver.NotifyTaskSummary

I suspected that this was caused by a application I had deployed to the SharePoint farm. However, it was not obvious what in the application was causing the problem.

The key to finding the problem was the call to ApplyApplicationContentToLocalServer in the stack trace. Reading up on the documentation for this method indicated that this is responsible for merging all the site map in the 14 hive and placing them in the _app_bin folder for each web application in the appropriate inetpub folders. These sitemap files are XML documents with “.sitemap.” somewhere in the name.

This post is useful in understanding this process:

Using this information I managed to find the sitemap file that was causing the problem – the XML document was invalid since in contained a “\” rather than “/”. And yes, it was installed by the application I had deployed.

Now, what I find interesting is that an issue in a site map deployed by an application can cause the SharePoint 2010 Products Configuration Wizard to fail, and therefore stop any updates from being applied. Not only interesting, but worrying too.

Written by Nick Grattan

July 16, 2012 at 7:49 pm

SharePoint 2010 – Provisioning User Profile Synchronization

leave a comment »

Configuring AD synchronization with SharePoint 2010 can be problematic. Here’s a great post on how to configure the services, including ForeFront Identity Manager:

Written by Nick Grattan

November 3, 2011 at 9:12 am

SharePoint 2010 Foundation, Server Service Pack 1 for Download

leave a comment »

Here’s information on SP1 for SharePoint 2010 Foundation Download from here:

And for SP1 for SharePoint Server (Enterprise and Standard) information Download from:


Written by Nick Grattan

July 1, 2011 at 12:53 pm

SharePoint Diagnostic Studio

leave a comment »

Talking of tools (see Favorite SharePoint Development Tools), the SharePoint Diagnostic Studio from Microsoft provides SharePoint performance monitoring functionality. This tool is particularly useful for consolidating the ULS records across servers in a SharePoint server farm. It’s part of the Microsoft SharePoint 2010 Administration Toolkit v2.0.

While useful, the user interface is not particularly polished or easy to use. In particular, the SharePoint Diagnostic Studio must be run with the language set to “US-English”, otherwise date formats will be presented incorrectly and date/time filtering will not work.

Overall Description:

Download from:


Written by Nick Grattan

July 1, 2011 at 12:41 pm

SharePoint Global Resource (resx) file locations

with 2 comments

Global resource (resx) files are stored in the following locations in SharePoint 2010:

  • App_GlobalResources folder in the VirtualDirectories folder in inetpub (e.g. C:\inetpub\wwwroot\wss\VirtualDirectories\80)
  • Resources folder in the 14 hive (e.g. C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Resources)
  • Config/Resources folder in the 14 hive (e.g. C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\Resources)

In general, a single resx file in your solution should be copied into each of these locations during installation.  This is how they are used:

  • Resources files in App_GlobalResources are used when code in an ASPX page refers to a resource, e.g.

<asp:Label ID="lblNumberingTitle" runat="server" Text="<%$Resources:GlobalSiteResources, AutoNameTitle %>" />

  • Resources files in the Resources folder are used when referencing resources using the SharePoint object model, e.g.

btnExport.Text = SPUtility.GetLocalizedString("$Resources:GlobalSiteResources, Tab_Export", "GloablSiteResources", language);

  • Resources files in the Config/Resources are copied into the App_GlobalResources folder whenever a new web application is created. By adding the resx files here you will ensure your application will be able to access its global resource files in new web applications.

Written by Nick Grattan

May 24, 2011 at 12:53 pm

Restore Error: Path cannot be used at this time

leave a comment »

When performing a Microsoft SharePoint 2007 restore you may receive this error:

Object NG_Documents (previous name: Documents) failed in event OnRestore. For more information, see the error log located in the backup directory.

COMException: The path specified cannot be used at this time. (Exception from HRESULT: 0x80070094)

To fix this problem you may need to apply this hot fix:

Note that this is a hotfix that is applied to Microsoft Windows Server and not to SharePoint itself.

Written by Nick Grattan

January 7, 2011 at 1:17 pm