ASP.NET在调用Office Com组件时,经常会出现权限限制的问题,而出现如下错误:
现通过以下几步设置,可解决上述问题:
(1)64位系统中,请在IIS应用程序池集成模式中应启用调用32位应用程序,或设应用程序池的模式应为”经典“
(2)设置DCOM,在“开始”-“运行”中运行命令:Dcomcnfg.exe,在如下图所示界面中分别对Office组件项进行设置
(3)分别设置Word/PowerPoint/Excel上述项访问权限
(4)经过上述设置后,有可能还会出现权限调用失败的问题(主要是Excel),这时需要对调用的用户做进一步的设置,选择“下列用户”,在“浏览”中来选择指定本机管理员(有权限调用com组件的用户),同时须保证该用户在“安全"选项卡中已经分配权限( 如步骤3所示),或者在”安全“选择卡中给Everyone用户分配所有权限亦可
(5)启用ASP.NET模式
其实以上的配置,在ASP.NET应用程序中,Web.config文件中配置以下节点(在系统中设置,会自动在web.config中生成以下节点,包括账号和密码),这时的用户须与“标识”选项卡中指定的用户和密码一致
<identity impersonate="true" userName="administrator" password="test" />
上述设置后,如还有问题,需要对IIS目录权限进行设置