A few days ago my team made a new environment for social computing and collaboration. This environment was only dedicated for Managers and Country Managers at the society where I’m working.

This architecture is a composed as such:

  • 1 SharePoint Application Server
  • 2 SharePoint Web Front-End Server
  • 1 Exchange Server
  • 1 SQL Server

Our software:

  • SharePoint Server Foundation
  • Language Packs French

When we wanted to migrate our content Database from one environment to another we got a strange error:
Cannot make a cache safe URL for “1036/sytles/Themable/corev4.css”, file not found. Please verify that the file exists under the layouts directory error.

I’ve already explained in my previous post why this happened.

Quote: ”The first thing I checked was the content of the path contains 1036. The folder didn’t exist and came to my mind that my client SharePoint site not in French. I used the English Binaries. The production site was in French language and when I restored the site, it was looking for resources in French language ID folder”

Resolution


Download the French Language Pack : http://www.microsoft.com/en-us/download/details.aspx?id=3411and install it on your SharePoint Servers and refresh your browser.

My team is composed about 3 Developers and 1 admin (My Junior Backup) .. The question came about “how and how-to install patches, service packs, language packs to our environment.”
And also colleagues of Vision IT Group made a few weeks ago a FARM migration and had few issues, so this was the moment to write this article.

First of all, before beginning to install anything we have to download each binary and stock them in a place where the servers can join them.

You can find any cumulative update (CU) or Service Pack (SP) here: http://technet.microsoft.com/en-us/sharepoint/ff800847.aspx

When you’ve downloaded all the binaries that you need, we can begin with the installation.
For Administrators who doesn’t know with CU or SP they need to install, you can know this with only 2 steps.

  • Connect to your Central Administration > Upgrade and Migration > Check product and patch installation status, and see what is your patch level

Or you can use Serge Luca’s post to see in http response header to know with version you are: http://sergeluca.wordpress.com/2013/01/13/can-can-you-check-the-version-of-a-sharepoint-online-or-how-can-you-know-that-your-sharepoint-online-moved-to-2013/

The installation of binaries kills SharePoint processes, so let's go step by step so that the downtime minimum as possible.

  • Make your patching after local work time
  • Aware everybody that SharePoint will be unavailable
  • Take backups

Before installing any patch insert a Maintenance Page. Therefore you have to create a simple HTML file. Place some descriptive text or images to the file, Make sure the file size is at least 512 bytes (otherwise, you will get a 404 page “not found error”!).

Navigate now to wwwroot and paste the HTML file.


When you’ve finished with the HTML file you can connect to the IIS Server where the website is hosted. Select your site and stop this. That's all!

When customers or colleagues want to surf to your SharePoint Site they will get the maintenance Page screen. As long as this file exists in the root, ASP.NET shuts down the site, stops processing any requests.

Installation of Binaries

  • Install the binaries on the SharePoint Application Server ( respect the dates October, February, … )
    • SharePoint Foundation Cumulative Updates
    • SharePoint Foundation Service Pack
    • Service Pack 1 Language Pack SharePoint Foundation

  • Install the binaries on the first Web Front-End
    • SharePoint Foundation Cumulative Updates
    • SharePoint Foundation Service Pack
    • Service Pack 1 Language Pack SharePoint Foundation

  • Install the binaries on the second Web Front-End
    • SharePoint Foundation Cumulative Updates
    • SharePoint Foundation Service Pack
    • Service Pack 1 Language Pack SharePoint Foundation

When you’ve finished installing the binaries you can check if everything binary is installed on your farm. You should have the same version number next the name. In occurrence you can see that the French Pack is installed on our Front-End Server.

Now, it possible that the version numbers are not the same if you don’t execute the “Product Configuration Wizard” or the PSConfig.

If you use the Product Configuration Wizard it will granularly upgrade all the databases. Therefore: Click Start –> Microsoft SharePoint 2010 Products –> right click on SharePoint 2010 Products Configuration Wizard and Run as administrator

Or you can use the PSConfig via PowerShell: psconfig -cmd upgrade -inplace b2b –wait –Force

This will also do the same as the Product Configuration Wizard but only in Editor Mode.
I know that this can fail for the first time, if it happens just rerun the command via PowerShell.

When it finished his upgrade, you can check the status for each database on SharePoint Server.
Therefore click Central Administration > Upgrade and Migration > Review Database Status

If you want a manual backup and upgrade only one database, it is possible too. Again via PowerShell execute the following commands:

$contentdb = Get-SPContentDatabase | Where-Object {$_.Name -match «database »}
Upgrade-SPContentDatabase -Identity $contentdb

You can see that PowerShell is complaining because the database does not need to be upgraded. If I hadn’t executed the Product Configuration Wizard the database could be upgraded. You can check the status of each upgrade session on Upgrade and Migration > Check Upgrade Status

And that’s all; your SharePoint Farm is up-and-running.

So; resuming for who scrolled directly down:

  • Download the binaries
  • Insert a Maintenance Page
  • Install Binaries
  • Execute PSConfig
  • Restart application pool