64位Windows系统中DCOM配置Excel、Word的解决方案

1星 需积分: 19 21 下载量 96 浏览量 更新于2024-09-09 收藏 2KB TXT 举报
"这篇文档主要介绍了如何在Windows7和Windows2008 64位系统上的IIS7中配置DCOM以支持Excel和Word的应用。作者提供了两种方法,第一种是针对.NET环境,通过修改Web.config文件进行身份模拟设置;第二种方法适用于所有语言,涉及在64位系统中管理32位的DCOM组件。" 在Windows7和Windows2008 64位系统中,由于IIS7是以64位模式运行,而Excel和Word通常为32位应用程序,因此在IIS上直接运行可能会遇到兼容性问题。DCOM(分布式组件对象模型)是Windows提供的一种组件间通信技术,允许不同进程或不同机器上的组件相互调用。配置DCOM是为了让IIS能安全地与Excel和Word进行交互,例如生成、读取或编辑Excel文件。 首先,对于.NET环境,可以通过在Web应用程序的Web.config文件中增加模拟设置,授予IIS应用池账户(通常是Network Service或特定的管理员账户)足够的权限来执行Excel操作。以下是在Web.config文件中添加身份模拟的示例: ```xml <configuration> <system.web> <identity impersonate="true" userName="系统管理员" password="系统管理员密码"/> </system.web> </configuration> ``` 这样配置后,应用程序可以以指定的管理员身份运行,从而能够启动Excel应用程序并进行操作,但可能无法直接打开服务器上的Excel文件。 对于所有语言,解决这个问题的方法涉及到在组件服务中配置DCOM的MicrosoftExcelApplication组件。由于在64位系统中,默认的组件服务不显示32位的DCOM组件,所以需要通过以下步骤来访问和管理32位的Excel: 1. 打开命令提示符,输入`mmc -32`启动32位的控制台。 2. 在打开的32位控制台中,添加“组件服务”管理单元。 3. 在组件服务的“DCOM配置”节点下,找到“MicrosoftExcel应用程序”。 4. 右键点击该组件,选择“属性”,进入“MicrosoftExcel应用程序属性”对话框。 5. 转到“标识”标签页,选择“交互式用户”。这是因为64位系统可能需要这种设置,而在32位系统上可能不需要。 6. 切换到“安全”标签页,对“启动和激活权限”以及“访问权限”进行自定义设置。添加“NETWORK SERVICE”用户,并赋予“本地启动”、“本地激活”以及“本地访问”的权限。如果配置不成功,可以考虑放宽权限至Everyone,但这会带来更大的安全风险。 完成上述配置后,IIS7应该能够在64位环境中安全地通过DCOM与Excel和Word交互,执行创建、读取和写入文件等操作。然而,这种方法可能存在安全隐患,因此建议仅对必要的用户或账户授予这些权限,并定期检查和更新安全策略,以确保系统的安全性。