2012-03-23 69 views
0

我有IIS7(Windows Server 2008)64位,但我的应用程序运行在32位模式。 Office 2003安装在服务器上。我在组件服务中找不到{000209FF-0000-0000-C000-000000000046},但我可以看到{00020906-0000-0000-C000-000000000046}并且我也为它分配了所有权限。错误:字自动化

如果我申请模拟,然后我看到winword.exe * 32在任务管理器和正在进行的页面很长一段时间就像棒,没有响应/错误。我注意到,页转到棒/总是在进步与

'传递,并与模拟

Dim WordApp As Microsoft.Office.Interop.Word.Application = New Microsoft.Office.Interop.Word.Application 

没有错误 '' 传递,并与模拟没有错误

Dim objDoc As Microsoft.Office.Interop.Word.Document = New Microsoft.Office.Interop.Word.Document 

'' 使用模拟,这行代码棒页面漫长的过程 - Documents.Open

objDoc = WordApp.Documents.Open(path) 

我缺少什么?相同的代码与Windows Server 2003 64位一起工作。

+0

建议是不要在服务中使用Office自动化。如果这是你见过的唯一错误,那么你很幸运。请参阅http://stackoverflow.com/questions/tagged/office-automation+asp.net – 2012-03-23 16:02:20

回答

3

Office Interop不适用于严重侧面使用。微软有关于Office的服务器端自动化主题的Knowledge Base文章,您可能想阅读它。

不知道你在尝试使用互操作,我只能推荐使用Office OpenXML来实现服务器自动化。如果你只是在做文件操作,它应该允许你这样做。对于其他任何事情,我都会建议您查看我链接的知识库文章中关于兽医的建议。


如果你真的必须有a hack solution您的问题

如果你创建C:\Windows\SysWOW64\config\systemprofile\DesktopC:\Windows\System32\config\systemprofile\Desktop它可能会解决你的问题的文件夹,但如果你能我会高度建议使用的OpenXML代替。

+1

感谢您的回复。我必须使用不是OpenXML的编程来读取.doc(Word 2003)文档,因此我必须坚持使用interop/automation。我已经在C:\ Windows \ SysWOW64 \ config \ systemprofile \和C:\ Windows \ System32 \ config \ systemprofile \ – 2012-03-23 18:51:13