代码改变世界

System.Runtime.InteropServices.COMException (0x80040154)错误

2010-12-27 15:13  潇湘隐者  阅读(29490)  评论(0编辑  收藏  举报

用windwos服务、owc、excle组件生成Excel文档,然后通过邮件自动发生给公司管理层,本来在本地测试、配置都正常,但是部署到Window 2003服务器上,服务启动后,日志文件记录程序出错,错误如下所示System.Runtime.InteropServices.COMException(0x80040154): 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80040154。

 

COM组件出错,上网查了下资料,在邀月的博客中http://www.cnblogs.com/downmoon/archive/2009/01/16/1376702.html查到了些资料;现把我自己的配置步骤整理出来,因为按照邀月博客中配置,我没有成功,而且有些步骤都没找到对应的选项。

 

 

  1. 以管理员身份登录到计算机,并使用完整安装来安装(或重新安装)Office。
  2. 启动要自动运行的  Office  应用程序。这会强制该应用程序进行自我注册。 
  3. 在运行里面输入dcomcnfg.exe命令,在组件服务的下面找到DCOM配置,展开列表找到Microsoft Excel Application选项,如下图所示,单击右键,选择属性-》安全选项,在“启动和激活权限”组选择“使用默认值”, “配置权限”组选择“使用默认值”,“访问权限”组我按邀月的配置,选择使用默认值后,还是会报上面的错误,后来我选择自定义选项(如下图所示),添加对应用户,然后点击确定,退出,启动服务,程序运行OK了