zoukankan      html  css  js  c++  java
  • server 2008 检索 COM 类工厂中 CLSID 为 {0002450000000000C000000000000046} 的组件时失败

    前两天写了个从编译器导入word的功能,放到iis和服务器上都会出现com类工厂错误。在本地测试时不出问题。查了好多资料,无意看到下面的设置方式,试了一下果然可以。如果你是上传的word的话,就在组件中找到word97-2003什么的在这个上面同时也设置一下。

    服务器是windows server2008 64位系统,
    我的系统需要用到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,问题解决。

    如果上面设置还不行,然后依次点击它们的编辑,把everyone添加进去,并加入所有的权限... 我是这样才可以的在服务器上。


    详细出处参考:http://www.jb51.net/os/windows/win2008/73326.html

  • 相关阅读:
    从SQL注入谈数据访问层
    Combobox下拉框两级联动
    C#IO流文件操作
    网络电视精灵思路分析
    简单工厂和单例设计模式浅解
    可扩展标记语言
    深入理解多态
    未将对象引用到实例
    Python 项目实践二(生成数据)第一篇
    Python 项目实践一(外星人入侵小游戏)第五篇
  • 原文地址:https://www.cnblogs.com/beidao/p/3101371.html
Copyright © 2011-2022 走看看