Thursday, November 19, 2009

Cannot Edit SharePoint 2007 List in Datasheet after Office 2010 Beta is Installed

I couldn’t wait to set up the Office 2010 beta, which became available this Monday. One interesting issue I’ve ran into was this:

1. I installed 64-bit version of Office 2010 Professional Plus beta (en_office_professional_plus_2010_beta_x64_x16-19234.exe version 14.0.4536.1000) on a Windows 7 box. I was forced  to uninstall Office 2007 Ultimate I had there before in order to proceed with the 2010 setup.

2. Today I went to my SharePoint 2007 intranet site and attempted to edit a custom list in datasheet view. I’ve got an error “The list cannot be displayed in Datasheet view…”:

image 

It turned out that IE 8 zone security was fine – I was missing ActiveX component necessary for datasheet editing, the ListNet Control. This control is packaged inside STSLIST.DLL library. The library was deployed to %ProgramFiles%\Microsoft Office\Office14 directory, but wasn’t registered as a COM server, which resulted in failure of JavaScript on SharePoint page to create an instance of the corresponding ActiveX control for the ListNet.ListNet progID.

Various editions of Microsoft Office 2007 include SharePoint support component, which is installed by default: Microsoft Office >> Office Tools >> Windows SharePoint Services Support. Specifically the “Edit in datasheet” feature is supported by the sub-component named “Microsoft Office Access Web Datasheet Component”. I went and checked out the components installed for my Office 2010 – and the analogous components were marked as installed:

image

Now that appears to be an issue. It would be interesting to know if anyone else ran into the same situation or was it just me. The workaround was easy – install back Windows SharePoint Services Support for Office 2007. Below is a screenshot – I only needed this specific part of the office and nothing else:

Install

Now the “View in datasheet” worked for me. Interestingly, it appears as that both Office 12 and Office 14 versions got registered as a result. Here is the view at the COM object registry settings using oleview.exe tool (part of Visual Studio tools):

Oleview

Hope this saves somebody time. Also here is a link to a good post made by Jose Barreto, which lists all SharePoint 2007 ActiveX controls.