IIS调用com组件的权限问题

引入:Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB)(这是针对老版本的情况,在用vs.net2005的时候,直接在引用对话框中,在com组件里找到对word的库文件的引用就可以了,文件名好像是一样的.)

1.运行Dcomcnfg.exe
2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft word 文档
3.点击属性
4.选择“安全性”
5.选定“使用自定义访问权限”和“使用自定义启动权限
6.分别编辑权限,添加Everyone(ASPNET,VS Developers,Debugger User
)(注:其实准确的应该是"ISUR_机器名"这个用户才对)
7.选择“身份标识”,在选定“交互式用户” 即可
8.在Web.config里加 <identity impersonate="true"/> (这句插在<system.web>段里就可以了)

  我做了上面的事情还是不能运行,后来在IIS里做了下面的设置: 在IIS下右键点本地计算机/应用程序池,选择属性,点击标识,将预定义帐户改成本地系统。就可以运行了。

些操作经测试是正确的,IIS7采用集成模式

windwos2003下

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档
之后
单击属性打开此应用程序的属性对话框。
单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后
自定义->编辑->添加ASP.NET账户和IUSER_计算机名

* 这些帐户仅在计算机上安装有 IIS 的情况下才存在。
13. 确保允许每个用户访问,然后单击确定。
14. 单击确定关闭 DCOMCNFG。

2、请设置web.config中的<identity impersonate="true" userName="administrator" password="51aspx"/>帐号和密码,否则会提示检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

例如

<system.web>

<identity impersonate="true" userName="administrator" password="chuguo186"/>

</system.web>


检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a 。

运行dcomcnfg打开组件服务,

依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

找到"Microsoft Excel应用程序"或"Microsoft Word应用程序",

右键打开属性对话框,点击"标识"选项卡,

点"下列用户",把管理员的用户密码正确填写进去...

点击"安全"选项卡,

依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,

原文地址:https://www.cnblogs.com/yibinboy/p/1722222.html