Let's face it, updating Sharepoint is not an easy task. It is true for both Microsoft Office Sharepoint Server (MOSS) 2007 and Windows Sharepoint Services 3.0. Let's highlight some points:
- MOST IMPORTANT: MOSS is built on top of WSS and you have to apply WSS and MOSS updates on MOSS installation
- You have to install localized versions of the updates even if you only uses English
- If you have MOSS, you have to install localized version of the updates even if you use English only
- VERY IMPORTANT: A later update patch DOES NOT include previous patches, so you may have to install a series of patches to get to a specific version. For example, August CU requires you to install SP1, Infrastructure Updates and other patches to be installed before.
- The only reliable information about current and past update paths can be found at http://blogs.msdn.com/sharepoint
- Before December Cumulative Update (CU) Uber Package, you were supposed to download a patch for each additional language you have installed in your farm.
How to update:
First, know where you are now. The way to know your version is going to Central Administration | Operations | Servers in Farm. The version will be shown in the page. This version will not tell you all as you have other components besides the server version. Some people, including me, prefer to check the version in the files. To get the version of the files, we use SPSReports.
SPSReports will generate a large amount of captured files. The file version will be available at <SERVERNAME>_WSEVer.TXT. This is an excerpt of such file (showing SP1 files):
c:\program files\common files\microsoft shared\web server extensions\12\bin\*.*
--a-- W32i DLL ENU 22.214.171.124 shp 1,030,144 02-21-2007 dbghelp.dll
--a-- W32i APP - 12.0.4518.1016 shp 23,824 11-08-2006 hcinstal.exe
--a-- W32i DLL - 12.0.4518.1014 shp 123,232 10-26-2006 microsoft.office.irm.formprotector.dll
--a-- W32i DLL - 12.0.4518.1014 shp 38,736 10-26-2006 microsoft.office.irm.msoprotector.dll
--a-- W32i DLL - 12.0.4518.1014 shp 34,640 10-26-2006 microsoft.office.irm.ofcprotector.dll
--a-- W32i DLL - 12.0.6211.1000 shp 92,000 08-24-2007 msscntrs.dll
--a-- W32i APP - 12.0.6211.1000 shp 282,496 08-24-2007 mssdmn.exe
--a-- W32i APP - 12.0.6211.1000 shp 159,648 08-24-2007 mssearch.exe
--a-- W32i DLL - 12.0.6211.1000 shp 694,104 08-24-2007 mssph.dll
--a-- W32i DLL - 12.0.6211.1000 shp 2,059,104 08-24-2007 mssrch.dll
--a-- W32i DLL - 12.0.6212.1000 shp 1,079,200 09-02-2007 offparser.dll
--a-- W32i DLL - 12.0.6219.1000 shp 3,012,136 11-15-2007 owssvr.dll
--a-- W32i DLL - 12.0.6211.1000 shp 26,496 08-25-2007 oisimg.dll
--a-- W32i DLL - 12.0.4518.1016 shp 26,456 11-08-2006 oleparser.dll
--a-- W32i DLL - 12.0.6211.1000 shp 357,264 08-25-2007 onetnative.dll
--a-- W32i DLL - 12.0.6219.1000 shp 1,983,528 11-16-2007 onetutil.dll
--a-- W32i DLL - 12.0.4518.1014 shp 100,144 10-27-2006 osafehtm.dll
--a-- W32i APP - 12.0.6211.1000 shp 58,232 08-25-2007 owstimer.exe
--a-- W32i DLL - 12.0.4518.1014 shp 400,200 10-26-2006 microsoft.office.policy.dll
--a-- W32i DLL - 12.0.4518.1014 shp 52,040 10-26-2006 microsoft.office.workflow.tasks.dll
--a-- W32i DLL - 12.0.6211.1000 shp 6,407,584 08-24-2007 microsoft.sharepoint.portal.dll
Depending on the product, there will be files with more significance than others and be aware that not all files will be updated to the latest build. In the excerpt above oleparser.dll is still in version 12.0.4518 (RTM version) while owssrv.dll is in SP1 (12.0.6219).
Checking your version:
- For WSS Global: Check OWSSVR.dll
- For MOSS Global: Check Microsoft.Sharepoint.Portal.dll (also make sure all other updates as WSS and DLC are compatible with the build, I will talk about it later)
- For Document Lifecycle Management (DLC) aka Workflow: highest version between microsoft.office.policy.dll and microsoft.office.workflow.tasks.dll
- For Infrastructure Updates (IU): It varies (see Knowledge Base method later in this post)
Checking what takes to get up-to-date
The new updates make things easier. For example, October CU required at least 4 patches (if you don't have other languages installed) while December CU only requires two patches no matter how many languages you have installed.
Let's take a look at the requirements for having October CU in MOSS (i.e. update path):
- KB936988 - WSS SP1 + LanguagePack SP1 - 6219
- KB957109 - WSS August CU Local - 6327
- KB957691 - WSS October CU Global - 6332
- KB936984 - MOSS SP1 + Language Pack SP1 - 6219
- KB955586 - MOSS DLC Component Update Local - 6324
- KB955937 - MOSS Excel Services security update - 6324 *
- KB958569 - MOSS DLC Component Update Global - 6331
- KB958567 - MOSS October CU Local - 6331
- KB957693 -MOSS October CU Global - 6331
If you had installed any of the KBs in the path you don't have to install the KB again. And now we finally will talk about how to use the KB method.
How to identify if the KB is already installed (Knowledge Base method)
Unfortunately the KBs are not visible in Add/Remove Programs in Control Panel. But the information is in the registry. Let's say I want to check if KB958569 is installed or not.
- Open Registry Editor (Start | Run | Regedit.exe)
- Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- Press Ctrl+F to start a search
- Look for the KB number by entering only the number without the prefix (eg. 958569)
- If you find it under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall it is because it is installed.
- This method is not so reliable because it does not keep track of past KB installed but it can be a good start
- You can issue the command "reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall uninst.txt" to dump the registry info in the text file.
How to download a specific KB hotfix (don't forget the local patches also)
Some hotfixes do not have an immediate public download place. You have to request. Please see the sample below for KB 958567 which is local update (and must be installed for each language you have in your environment).
The KB is located here:
for other KBs, just change the number in the url.
The hotfix can be download here:
Notice that you will be offered only the English version initially. Click on “Show hotfixes for all platforms and languages” and it will show for all languages and architectures (x86 and x64).
Choose all languages and architectures that apply. You will receive an e-mail with instructions on how to download the patch.
Please follow these for all patches.