2

尝试在 Windows Server 2008 上运行依赖互操作的程序时出现以下错误,它在 Win Server 2003 和 XP 上运行良好:

System.Runtime.InteropServices.COMException (0x800A03EC):来自 HRESULT 的异常:Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs 的 0x800A03EC (......)

根据微软的说法,Windows Server 2008 不在支持的操作系统列表中。

http://www.microsoft.com/downloads/en/details.aspx?familyid=3c9a983a-ac14-4125-8ba0-d36d67e0f4ad&displaylang=en

系统要求

支持的操作系统:Windows 2000 Service Pack 3;Windows Server 2003;Windows XP

任何人都可以确认这一点..有人试过吗..?

4

3 回答 3

7

找到答案.......!!!!!!!

Microsoft 正式在 Windows server 2008 上不支持 Microsoft Office 2003 Interop。

但是在对代码和搜索进行大量排列和组合之后,我们遇到了一种适用于我们场景的解决方案。

解决方案是弥补 Windows 2003 和 2008 维护其文件夹结构的方式之间的差异,因为 Office Interop 依赖于桌面文件夹在中间打开/保存文件。2003 系统在 systemprofile 下包含 2008 年不存在的桌面文件夹。

因此,当我们在 2008 年在相应层次结构下创建此文件夹时,如下所示;office Interop 能够根据需要保存文件。此桌面文件夹需要在下创建

C:\Windows\System32\config\systemprofile

C:\Windows\SysWOW64\config\systemprofile

这对我有用...

  1. 还要检查是否安装了 .NET 1.1,因为 Interop 需要它,而 Windows Server 2008 没有预安装它

  2. 或者您也可以使用 SaveCopyas() 方法,只需将参数作为文件名字符串)

多谢你们..!

于 2010-12-15T09:59:41.383 回答
0

.NET 1.1 也是一项要求,我不认为它在 Windows Server 2008 上(我认为真的不应该),这可能是您的问题。

于 2010-12-14T10:30:31.643 回答
0

好吧,一般来说,在任何服务器上运行互操作通常不是一个好主意,因为 Office 不是服务器解决方案的一部分。但是,假设您无法更改它,应该可以让它运行,但是我已经看到很多问题都有各种问题,但是对于不同的人来说,解决方案似乎有所不同。

这个stackoverflow问题有一些答案,其中一些可能会对你有所帮助(它是关于Win7的,但我认为它仍然应该是相关的)。

于 2010-12-14T10:37:34.870 回答