A common error message reported when installing a SharePoint CU is the following: "The expected version of the product was not found on the system".
You obviously will see this error if you try to install a SharePoint CU on a box where not SharePoint has been installed, but there is another reason why this problem can occur: if one of the components installed with SharePoint 2010, which should be upgraded by the CU, is on a patch level below the supported baseline of the CU.
Sounds complicated? It is not. Let me give you an example:
A SharePoint Server CU includes fixes for SharePoint Foundation and SharePoint Server and also for all available Language Packs for SharePoint Foundation and SharePoint Server (that's the reason why the package is so big). In a usual environment only a small number of language packs is installed. Often only one. You think your SharePoint Server does not have any language packs installed? You are wrong! If you install SharePoint Server 2010 English edition, then you have indeed the language independent SharePoint Server 2010 installed plus the English language pack.
With other words: even the simplest installation of SharePoint Server 2010 has 4 components installed. Lets assume you installed SharePoint Server 2010 English edition:
Plus the following components for any additional SharePoint Server language Pack (e.g. German):
If you are installing a service pack for SharePoint you need to ensure that all these four products are upgraded to the new service pack level.
For Service Packs it is similar. The SharePoint Server 2010 Service Pack English edition contains the service pack for the following 4 components:
That means unlike CUs you have to install the service pack for each additional language pack
Common error I have seen when upgrading to a new service pack level are the following:
Each of the above listed errors will lead to inconsistent patch levels on the affected SharePoint server.
As SharePoint CUs can be installed on the latest and also for 12 months after release of a new service pack on the previous service pack to allow customers to evaluate the service pack thoroughly you might not notice that there is such an inconsistency as CUs install fine on such a system. But suddenly, 12 months later, CUs fail to install with the error message in the title. Why? Because the patch level of one of the installed components is below the supported level.
How can you detect such problems?
There are different methods: