如题,
    我在asp.net 中使用 Excel,用的是Interop的方式,部署后出现 
“检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 ”这个错误!
    
    然后到网上查找解决方法,说配置DCOM 就可以了,我手动配置后果然能用了。
    但现在的问题是,公司要求自动配置,不能让客户去手动配置。    这个问题我找了好长时间了,不知哪位大侠遇到过同样的问题,如何解决。不胜感激!

解决方案 »

  1.   

    请问你的服务器是2003 server 还是XP或2000的啊?
    我现在是XP做服务器,也报你那样的错误啊,能详细说下你配置的过程吗?
      

  2.   

    请问你的服务器是2003 server 还是XP或2000的啊? 
    我现在是XP做服务器,也报你那样的错误啊,能详细说下你配置的过程吗?
      

  3.   

    找了啊,都不行!烦人啊 你是在2003还是Xp上配置的?
    我的是XP
      

  4.   

    Dcom的这些设置是保存在注册表的,你可以通过在HKEY_CLASS_ROOT\APPID\{00020812-0000-0000-C000-000000000046}\下面建几个键值试试:比如AccessPermission,LaunchPermission,AuthenticationLevel等我自己试了一下,确实是保存到这里来了可以在机器上先做好设置,然后:1.记住这几个键值,用编程的方式来写注册表  或者  2.导出为注册表文件,然后让用户导入一下;
      

  5.   

    如果Com+程序的话,可以先在一台机器上配置好,然后导出一个安装包,再在其他机器上安装就行了当然也可以通过编程的方式访问com+ catalog,来达到设置的目的
      

  6.   

    抱歉,{00020812-0000-0000-C000-000000000046}是我机器上Microsoft Excel应用程序的classid,不知道和你的版本是否一样,所以你最好用你那边的classid代替 
      

  7.   

    关键不知道这几个键的意思,
    HKEY_CLASS_ROOT\APPID\{00020812-0000-0000-C000-000000000046}
    AccessPermission,LaunchPermission,AuthenticationLevel
    都有值,可还是不行。
      

  8.   

    AccessPermission:访问权限
    LaunchPermission:启动和激活权限
    AuthenticationLevel:身份验证级别你在dcom里面设置,也不过是修改这几个键值
      

  9.   

    每个操作系统不一样,
    我就知道把everyone配置上肯定没问题。我现在想知道 配置后对应注册表的键和值是什么?而且刚发现 windows2000 和 windows2003 里面HKEY_CLASS_ROOT\APPID\{00020812-0000-0000-C000-000000000046} 的键还不一样。
      

  10.   

    HKEY_CLASS_ROOT\APPID\{00020812-0000-0000-C000-000000000046} 
    AccessPermission,LaunchPermission,AuthenticationLevel 
    在我的机器上能够运行,我将这些键导出,
    到另一台机器中导入,再运行,结果还是报错“检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 ”
      

  11.   

    微软推荐使用OpenXml
    所以就换了实现方式了。