We have a 32-bit .NET application which makes use of the 32-bit version of DSOFile.dll 2.1 to read common properties from Office documents. This works on 32-bit versions of Windows, for both Office 2003 and Office 2007 documents. We are now examining our application’s behaviour in a 64-bit environment, and specifically in 64-bit Windows Server 2008.
In this 64-bit environment, DSOFile.dll can successfully read properties from Office 2003 documents (eg. DOC), but in the case of Office 2007 documents (eg. DOCX), only empty strings are returned for all properties, or else an error is generated.
Here are my observations:
Environment: clean install
Read DOC props: OK
Read DOCX props: Empty values returned
Environment: Office 2007 Compatibility Pack installed
Read DOC props: OK
Read DOCX props: Empty values returned
Environment: Office 2007 Compatibility Pack SP1
Read DOC props: OK
Read DOCX props: Empty values returned
Environment: Office 2007 installed
Read DOC props: OK
Read DOCX props: Error message = "document is not an OLE file"
On the 64-bit system I used the copy of regsvr32 located in %SystemRoot%Syswow64 to register dsofile.dll.
Any advice would be greatly appreciated.