首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用x64系统上的x86 dsofile.dll读取Office2007文档属性

无法使用x64系统上的x86 dsofile.dll读取Office2007文档属性
EN

Stack Overflow用户
提问于 2009-12-18 13:32:07
回答 2查看 3.2K关注 0票数 2

我们有一个32位的.NET应用程序,它利用32位版本的Office2.1从DSOFile.dll文档中读取常见属性。这适用于32位版本的Windows,适用于Office 2003和Office 2007文档。我们现在正在检查我们的应用程序在64位环境中的行为,特别是在64位Windows Server 2008中。

在这个64位环境中,DSOFile.dll可以成功地从Office2003文档中读取属性(例如,文档),但对于Office 2007文档(例如DOCX),则只为所有属性返回空字符串,否则将生成错误。

以下是我的观察结果:

环境:全新安装

阅读DOC属性: OK

读取DOCX props:返回空值

环境:已安装Office 2007兼容包

阅读DOC属性: OK

读取DOCX props:返回空值

环境: Office 2007兼容包SP1

阅读DOC属性: OK

读取DOCX props:返回空值

环境:已安装Office 2007

阅读DOC属性: OK

阅读DOCX props: Error message = "document is not a OLE file“

在64位系统上,我使用位于%SystemRoot%\Syswow64中的regsvr32副本来注册dsofile.dll。

任何建议都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-18 20:09:38

您可以将您的应用程序编译为x86而不是AnyCPU,然后它将在x64窗口上运行良好。

另一种可能的方法是使用Open XML SDK 2.0 for Microsoft Office。看看它是否支持x64应用程序。

http://www.microsoft.com/downloads/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en

票数 0
EN

Stack Overflow用户

发布于 2010-08-20 10:00:43

你可以找到DSOFIle的源代码(在谷歌上看看),并编译成64位的,或者尝试这个链接,有人说他们已经这样做了:http://www.keysolutions.com/blogs/kenyee.nsf/d6plinks/KKYE-79KRU6

我这里还有一个x64版本,如果你需要的话,我可以上传它。

它可能与您的问题没有直接关系,但如果您想尝试一下,我已经使用了x86和x64

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1926482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档