Will My MOSS Farm Stop Working?
Or am I more likely to be abducted by aliens? Well, if you installed MOSS Service Pack 2 from a download before the 29th July 2009 your production MOSS Farm could stop working in the future. This is explained in Microsoft KB 971620 and in this Microsoft blog post.
In summary, initial releases of SP2 was configured as a trial version, and unless re-installed, MOSS features will stop working 180 days after you installed SP2. The value “180″ is reported in the KB, but this value seems to be different in practice.
To determine if your MOSS Farm is at risk you can:
- Run Central Administration.
- Select Operations.
- Select Convert license type in the “Upgrade and Migration” section.
The description of “Current License” will show if you installed SP2 with the trial version problem:

You can also determine when the trial version will expire:
- Run Central Administration
- Select Application Management.
- Select Check services enabled in this farm in the “Office SharePoint Server Shared Services” section.
A warning will be displayed if you’re running the trial version:
![]()
KB 971620 contains a link to a hotfix to correct this issue. This hotfix may require you to reboot the server. Before testing if the fix was applied correctly, issue an IISRESET before running Central Administration.
Thanks to Tim at Cork County Council for pointing out this issue.
SharePoint Versions – MOSS v. SharePoint Services
In this post I explained how to determine if your SharePoint installation is service packed, and to what level. However, the situation is a little more complex since your MOSS 2007 farm will be running Microsoft SharePoint Services 3.0 and MOSS on top.
When using Central Administration / Operations / Servers In Farm to report the version number you’re seeing the Windows SharePoint Services 3.0 version number. This will be updated when you run the Windows SharePoint Services (WSS) service pack update.
So how do you find which service pack for MOSS you’re running with? One way is to find the version number of the Microsoft.Office.Server assembly from the Windows GAC (Global Assembly Cache). To do this:
- Run the Windows Explorer.
- Navigate to \Windows\Assembly.
- Right-click the file Microsoft.Office.Server and select Properties.
- Click the Version tab.
- Take a note of the “File Version”:

Here are the version numbers for the main MOSS services packs using this technique:
| Service Pack |
WSS Version (Central Admin) |
MOSS Version from Microsoft.Office.Server |
| Unserviced packed | 12.0.0.4518 | 12.0.4518.1014 |
| Service Pack 1 | 12.0.0.6219 | 12.0.6211.1000 |
| Service Pack 2 | 12.0.0.6421 | 12.0.6420.1000 |
Version numbers from the Microsoft.Office.Server assembly do not follow exactly those for the WSS reported version number, but there is a close correlation.
Problem Solved: Amnesia Problem: Multiple Content Types on Libraries
In this blog post I describe a problem whereby document libraries having multiple content types use the default content type when documents are saved regardless of the selected content type.
Well, thanks to Kevin at Dublin City Council, (that’s Dublin, Ireland) here’s a solution to this problem. It’s all to do with how you define the template for the content type using “Advanced Settings” for a content type:

First, if you “Upload a new document template” the problem described above does not occur. The correct content type will always be selected regardless of how many content types there are associated with the document library. However, your document template is not under version control and becomes more difficult to update using this option.
I normally use the “Enter the URL of an existing document template” and add the URL to a document library containing content type templates (let’s call it “Content Type Templates Library”). That way, if the content type template is updated in this document library the new version will immediately be used. This is the situation where the wrong content type will be selected.
To solve the problem (and this is where Kevin comes in), you need to associate the content types with the “Content Type Templates Library”. The documents representing the content type templates need to have the content type they are being used in. Let me give an example:
Say you’ve got two content types: “CT1″ and “CT2″ and these use document templates called “DT1.doc” and “DT2.doc” respectively. The documents “DT1.doc” and “DT2.doc” are stored in a document library called “Content Type Templates Library”. Now, you need to associate content types “CT1″ and “CT2″ with “Content Type Templates Library”. Further, “DT1.doc” must use “CT1″ and “DT2.doc” must use “CT2″.
Once this has been setup, the content types “CT1″ and “CT2″ can be associated with a document library in which users will create documents. Now, new documents created by users will have the correct content type associated with them.
Creating While Loops in SharePoint Designer Workflows using Stateful Workflows – Part 2
Here’s some additional information to this post about this subject.
An alternative to our solution for while loops in SharePoint Designer workflows have been previously proposed based on setting a workflow to start when an item is changed. This gets over the problem of how to get a workflow to restart itself (which we do with the “Restart This Workflow” action). You can find a description of how to do this here: http://sharepointmagazine.net/technical/development/the-dog-ate-my-task-use-sharepoint-designer-to-email-daily-task-reminders
However, the technique of a workflow restarting itself when an item changes will not work with SP2. Take a look at this Microsoft post:
In SP2 a workflow cannot restart itself recursively, and so this will break stateful workflows written in this way. Seems strange that Microsoft would introduce a breaking change when using these techniques have been well documented.
Creating While Loops in SharePoint Designer Workflows using Stateful Workflows
Amongst several significant limitations with SharePoint Designer workflows, perhaps the most important is the lack of looping. Therefore, expressing processes like “while not approved, rework” becomes difficult.
We have published a paper that describes how to implement while loops by emulating stateful workflows in Microsoft SharePoint Designer. You can download the paper here (PDF, Oct 2009). The technique uses our “Restart this workflow” custom action, which is part of our “Custom Activity Pack” which can be downloaded here for free.
Custom Workflow Action: Send to Records Center
Our Custom Activity Pack contains actions that can be installed for use in Microsoft SharePoint Designer workflows. The latest version includes an action for sending documents and items to a Records Center site collection directly from your workflows.
The Custom Activity Pack is free and can be downloaded from our web site at http://www.nickgrattan.net/Downloads.aspx.
Other custom actions in this pack include:
- Start Workflow – Start another workflow for the item or document and return.
- Call Workflow – Start another workflow and wait until that workflow has completed.
- Halt Workflow – Halt another workflow executing against the item or document.
- Restart This Workflow – great for implementing stateful workflows in SharePoint Designer
- Is Workflow Running – check if another workflow is running against the item or document.
Here is the entire list of actions:

Am I Serviced Packed?
You can find the current version number for MOSS 2007 through Central Administration:
- Run Central Administration.
- Click the Operations tab.
- Click Servers in farm under the “Topology and Services” section.
This shows the version number for the farm and each individual server in the farm:

Here are the version numbers for various MOSS 2007 service packs:
| Unservice packed | 12.0.0.4518 |
| MOSS Service Pack 1 (SP1) | 12.0.0.6219 |
| MOSS Service Pack 2 (SP2) | 12.0.0.6421 |
For a full list of version numbers, including interim builds see here.
Update: 5 Nov 2009: See here for how to find MOSS 2007 and Windows SharePoint Services version numbers.







