Windows7 64 bit 下解决:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败

  工作机装了Windows7 64bit,搭上原来的公司Accounting系统,遇到若干问题,SQL2000装不上,VS2005要升级补丁,等等。

  最后安装上组件Office2007, VS2005 SP1, SQL2005, FrameWork2.0。

  Accoutning系统需要用到Microsoft.Office.Interop.Excel组件,而问题恰恰出在此上面。

  在上传Excel单据遇到错误:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败。

  网上传阅无数解决方式:

  普通版本步骤

  1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

  2.依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

  3.在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

  4.点击"标识"标签,选择"交互式用户"

  5.点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限

  6.依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.

  

  而问题出在64位版本的机器上,因为打开DCOMCNFG之后,找不到项“Microsoft Excel 应用程序”,因为DCOMcnfg是32配置,在64位系统下能完全被支持,所以正好挂彩。

  于是查阅到了打开32位的DCOMCNFG的方式:

  1.运行:mmc -32

  2.打开“文件”-“添加或删除管理单元”-选择组件服务-点击添加-确定。

  3.可以在DCOM组件中找到Microsoft Excel Application了。

 

  于是用最上面的方式配置完成,跑网站,一样出错。

  再检查,还有内容没有完成设置。

  检查IIS7的设置,最后确定还需要设置应用程序池的标识,把此网站的AppPool的标识要设置为LocalSystem或者NetworkService,问题解决。

  

 

posted @ 2010-08-20 11:22  Will.Hu  阅读(11360)  评论(0编辑  收藏  举报