检索COM类工厂中CLSID为{000209FF-0000-0000-C

摘要 : Search COM class factory for the CLSID (000209FF-0000-0000-C

异常详细信息:   System.UnauthorizedAccessException:   检索   COM   类工厂中   CLSID   为   {000209FF-0000-0000-C000-000000000046}   的组件时失败,原因是出现以下错误:   80070005。ASP.NET   未被授权访问所请求的资源。请考虑授予   ASP.NET   请求标识访问此资源的权限。ASP.NET   有一个在应用程序没有模拟时使用的基进程标识(通常,在   IIS   5   上为   {MACHINE}\ASPNET,在   IIS   6   上为网络服务)。如果应用程序正在通过   <identity   impersonate= "true "/>   模拟,则标识将为匿名用户(通常为   IUSR_MACHINENAME)或经过身份验证的请求用户。 
解决方法:
1.   运行DCOMCNFG(在系统的system32下),在   DCOM   配置对话框中,从列表中选择microsoft   word文档,单击默认安全性选项卡。  
2.   单击访问权限的编辑默认值。验证访问权限中是否列出下列用户,如果没有列出,则添加这些用户:
SYSTEM
INTERACTIVE
Everyone
Administrators
IUSR_ <machinename> *
IWAM_ <machinename> *
*   这些帐户仅在计算机上安装了   Internet   Information   Server   (IIS)   的情况下才存在。  
3.   单击启动权限的编辑默认值。验证启动权限中是否列出下列用户,如果没有列出,则添加这些用户:
SYSTEM
INTERACTIVE
Everyone
Administrators
IUSR_ <machinename> *
IWAM_ <machinename> *
*   这些帐户仅在计算机上安装有   IIS   的情况下才存在。  
4.windowsXP:选择“身份标识”,在选定“交互式用户”;
windows   2003:选择“下列用户”,添上管理员用户名和密码    
5.windowsXP:Web.config       添加       <identity       impersonate= "true "     userName= " "   password= " "   />      
  windows   2003:Web.config       添加       <identity       impersonate= "true "       />
 
 
别人的解决方法,也可以参考一下:(其他com的配置都类似)
具体配置方法如下:  
1:在服务器上安装office的Excel软件.  
2:在 "开始 "-> "运行 "中输入dcomcnfg.exe启动 "组件服务 "  
3:依次双击 "组件服务 "-> "计算机 "-> "我的电脑 "-> "DCOM配置 "  
4:在 "DCOM配置 "中找到 "Microsoft   Excel   应用程序 ",在它上面点击右键,然后点击 "属性 ",弹出 "Microsoft   Excel   应用程序属性 "对话框  
5:点击 "标识 "标签,选择 "交互式用户 "  
6: 点击 "安全 "标签,在 "启动和激活权限 "上点击 "自定义 ",然后点击对应的 "编辑 "按钮,在弹出的 "安全性 "对话框中填加一个 "NETWORK   SERVICE "用户(注意要选择本计算机名),并给它赋予 "本地启动 "和 "本地激活 "权限.  
7:依然是 "安全 "标签,在 "访问权限 "上点击 "自定义 ",然后点击 "编辑 ",在弹出的 "安全性 "对话框中也填加一个 "NETWORK   SERVICE "用户,然后赋予 "本地访问 "权限.  
这样,我们便配置好了相应的Excel的DCOM权限.  
注意:我是在WIN2003上配置的,在2000上,是配置ASPNET用户
上一篇 :C#怎样操作Word
下一篇 :C#两个DataTable Left join连接