• “检索COM类工厂中CLSID...”的两个错误的解决方法 dodo


    最近用.net写了一个相关Excel的B/S的程序,部署到2003企业版的服务器上遇到这个错误:
    检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

    在网上搜索一下,找到解决方案,转贴过来备忘。
    http://www.cnblogs.com/PiedPiper/articles/627764.html

    然后一切正常。没想到过了两天,突然错误再次出现。检查权限,没问题啊,真是晕倒。

    网上有个朋友建议说装SP1补丁就好了。但我已经打过补丁了啊。

    最后的解决方案:
    依据:http://www.cnblogs.com/HQT/archive/2006/05/22/406345.html
    做如下操作:
    1.打开excel,按alt + F11,关闭excel和VBA;
    2.单击开始,单击运行,然后键入 DCOMCNFG;
    3.点击组件服务-计算机-我的电脑-DCOM配置,这时弹出一个问注册的窗口,确定注册。
    这时就一切恢复正常了,不用往下操作了。呵呵

    在VS2005里面却没有任何问题,因此得出结论,肯定是权限问题,查了下资料,问题解决。

       

    具体解决方法如下:

    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,xp上,NETWORK SERVICE用户改为ASP.net用户。

    这个问题困扰了我好几天,也花了1天多的时间,仔细的去看,终于解决了。

    配置 DCOM EXCEL 应用程序:
    要在交互式用户帐户下设置 Office 自动化服务器,请按照下列步骤操作:
    1. 以管理员身份登录到计算机,并使用完整安装来安装(或重新安装)Office。为了实现系统的可靠性,建议您将 Office CD-ROM 中的内容复制到本地驱动器并从此位置安装 Office。
    2. 启动要自动运行的 Office 应用程序。这会强制该应用程序进行自我注册。
    3. 运行该应用程序后,请按 Alt+F11 以加载 Microsoft Visual Basic for Applications (VBA) 编辑器。这会强制 VBA 进行初始化。
    4. 关闭应用程序,包括 VBA。
    5. 单击开始,单击运行,然后键入 DCOMCNFG。选择要自动运行的应用程序。应用程序名称如下所示:
    Microsoft Access 97 - Microsoft Access 数据库
    Microsoft Access 2000/2002 - Microsoft Access 应用程序
    Microsoft Excel 97/2000/2002 - Microsoft Excel 应用程序
    Microsoft Word 97 - Microsoft Word Basic
    Microsoft Word 2000/2002 - Microsoft Word 文档
    单击属性打开此应用程序的属性对话框。
    6. 单击安全选项卡。验证使用默认的访问权限和使用默认的启动权限已选中。
    7. 单击标识选项卡,然后选择交互式用户。
    8. 单击确定,关闭属性对话框并返回主应用程序列表对话框。
    9. DCOM 配置对话框中,单击默认安全性选项卡。
    10. 单击访问权限的编辑默认值。验证访问权限中是否列出下列用户,如果没有列出,则添加这些用户:
    SYSTEM
    INTERACTIVE
    Everyone
    Administrators
    IUSR_ <machinename> *
    IWAM_ <machinename> *
    * 这些帐户仅在计算机上安装了 Internet Information Server (IIS) 的情况下才存在。
    11. 确保允许每个用户访问,然后单击确定。
    12. 单击启动权限的编辑默认值。验证启动权限中是否列出下列用户,如果没有列出,则添加这些用户:
    SYSTEM
    INTERACTIVE
    Everyone
    Administrators
    IUSR_ <machinename> *
    IWAM_ <machinename> *
    * 这些帐户仅在计算机上安装有 IIS 的情况下才存在。
    13. 确保允许每个用户访问,然后单击确定。
    14. 单击确定关闭 DCOMCNFG。
    如果你之前起用了身份模拟 (在 web.config 中配置了 <identity impersonate= "true "/> ) ,需要删除之!...

  • 相关阅读:
    密码盐 -- 为什么要在密码里加点“盐”
    Linux远程连接ssh工具(FinalShell)xshell替代神器
    模板文件不存在,无法解析文档”的几种解决办法
    9个PNG透明图片免费下载网站推荐
    我最近买的书里面带的CD盘,放电脑里后,说是0字节,但是可以播放,不能把里面的东西复制出来
    ASP程序加密/解密方法大揭密
    最稳定万能vip视频解析接口 支持HTTPS
    pycharm安装pyinstaller将pygame打包成exe
    Arduino101学习笔记(六)—— 高级IO
    Arduino101学习笔记(五)—— 模拟IO
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/1420584.html
Copyright © 2020-2023  润新知