SharePoint error when activating publishing feature: the trial period for this product has expired

On some of my SharePoint 2007 farms, when I tried to activate the publishing feature, I got this error:

The trial period for this product has expired.

I was certain that my license had not expired, so I did some research on Google. I found that it was a known issue that affected Microsoft Office Servers product with service pack 2.

My SharePoint farms had been patched to version 12.0.0.6535 (SP2 + December 09 cumulative update), so they were affected.

The solution was to install Microsoft KB971620. It required a server reboot after installation.

LiquidSilver 0.4.0.0 Beta released

As usual, it’s available at Codeplex.

Changes:

  • HgContextclass
    • Added Execute(bool elevateContext, HgContextCode code) method.
    • (Breaking change) Removed the constructors and the IDisposable interface. The class now is static and can only be used via its static methods and delegates.
    • (Breaking change) Replaced the explicit delegates with action delegates.
  • HgListItemclass
    • Fixed a bug in the SetLookup method.
    • Added parser methods for GUID type.
    • Renamed HgListItem.ID to HgListItem.Id.
  • HgRoleclass
    • Refactored HgRole.DoesPrincipalsContainUser to remove unnecessary type casting.
  • Miscellaneous
    • Added a CA (Code Analysis) custom dictionary to make exception for Hg keywords.
    • Removed all CA message suppressions for Hg casing.
    • Added the LiquidSilver.HgImpersonationContext class for impersonation purpose.
  • LiquidSilver.Extra project
    • Added the UserControlLoader Web part to load and manage user control.
  • LiquidSilver.Tests project
    • Added this project for unit testing.
    • Added some tests for HgContext and HgList.

LiquidSilver 0.3.0.0 Beta released

LiquidSilver 0.3.0.0 Beta has been released on Codeplex.

Changes in this version:

  • HgElevatedContext
    • Revamped the HgElevatedContext class to be more usable.
    • Renamed the HgElevatedContext class to the HgContext class.
  • HgContext
    • Modified the HgContext class to make the context elevation optional.
  • HgList
    • Changed the default batch size to 1000 (was 2000).
    • Added the AddFolderStructure() method.
    • Added the GetAllItems() method.
    • Added the BaseGetAllItems() method.
    • Fixed the AddFolderStructure() and AddFolder() methods
      bug.
  • HgListItem
    • Added the SetLookup(Guid fieldId, string lookupValue) method.
    • Added the SetLookup(string fieldName, string lookupValue) method.
    • Refactored the field name resolution in the field parsers method to improve the
      performance.
    • Fixed the GetDate() method not parsing the value correctly.
  • HgListItemVersion
    • New class to manage list item’s versions.
  • HgSecurity
    • Refactored classes not to dependant on the HgSecurity class.
    • Removed the HgSecurity class as it introduces potential memory leaks.

If you want to try it, you can download the code and binary from Codeplex.

Kindly submit bug reports to the issue tracker or visit the resource page for more information.