急!检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败

xiaozi145 2010-01-08 07:53:25
做了一个excel导出,在本机上运行还好,放到服务器上,就报错:
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 800700c1。
myExcel = new Excel.ApplicationClass();程序运行到这。。。

按照网上的方法,我用dcomcnfg.exe进了组建服务,在dcom配置下,进了excel应用程序的属性,然后点了交互式,再点了安全中的启动与激活中的自定义,添加了network service帐户,给了所有权限,然后再访问中也添加了network service帐户,给了访问权限。。。
但是依然报上面的错,请问该怎么办?

服务器的系统是server 2003的,excel的版本是2000的
...全文
751 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackeyabc 2010-09-03
  • 打赏
  • 举报
回复
afasdfasdfsadf
archu 2010-01-09
  • 打赏
  • 举报
回复
800700c1错误代码的含义如下:%1 is not a valid Win32 application.

看起来你开发时用的Excel版本跟服务器上的版本不一致。你需要在服务器上重新生成interop的dll
Jeremiah 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaozi145 的回复:]
<identity impersonate="true" userName="机器用户名" password="用户登录密码." />
加了这句依然没用,还是出现上面的错误
我服务器EXCEL是2000的,客户机是2003,如果是版本的问题,但是为什么我用服务器本机去登系统,点excel导出,依然会出现这个错误???
bin里是office.dll和Interop.Excel.dll是不是和2000不兼容??
[/Quote]
In my case,我添加了
<identity impersonate="true" userName="机器用户名" password="用户登录密码." />
之后是没问题的. 检查一下你帐户的权限,是不是admin

你bin里面的excel.dll是哪个版本的?
我不确定office2003生成的excel可以被你服务器上的office2000兼容.(这个可能不是主要问题吧.)
你可以尝试着引用一下office2000生成的excel.dll.
http://download.csdn.net/source/705144

你说你修改了DCOM,那么是不是按照下面方法来的? 参考网址.
http://blog.crowe.co.nz/archive/2006/03/02/589.aspx


自己google一下,看看别人怎么解决,自己试试.
大部份情况下, 就是权限, 兼容~
xiaozi145 2010-01-09
  • 打赏
  • 举报
回复
<identity impersonate="true" userName="机器用户名" password="用户登录密码." />
加了这句依然没用,还是出现上面的错误
我服务器EXCEL是2000的,客户机是2003,如果是版本的问题,但是为什么我用服务器本机去登系统,点excel导出,依然会出现这个错误???
bin里是office.dll和Interop.Excel.dll是不是和2000不兼容???
woodyy 2010-01-09
  • 打赏
  • 举报
回复
我前几天刚刚碰到这个问题。

在你的web.config里的</system.web>上边添加一句话:

<identity impersonate="true" userName="机器用户名" password="用户登录密码." />

你是怎么登陆到你的服务器的,有机器名和密码吧,填写进去就可以了。
Jeremiah 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 w59879213 的回复:]
1. 你说的方法.

2. 检查服务器装没装office? 装了的话office的版本和你开发时使用的是不是一致?
服务器装的版本一定要高于你开发的版本.

3. 权限问题.web.config里添加这一句试试.
<identity impersonate="true" userName="机器用户名" password="用户登录密码." />

[/Quote]
补第二条:
Bin 目录里面有没有你开发时的excel.dll文件?
Jeremiah 2010-01-09
  • 打赏
  • 举报
回复
1. 你说的方法.

2. 检查服务器装没装office? 装了的话office的版本和你开发时使用的是不是一致?
服务器装的版本一定要高于你开发的版本.

3. 权限问题.web.config里添加这一句试试.
<identity impersonate="true" userName="机器用户名" password="用户登录密码." />
jshi123 2010-01-09
  • 打赏
  • 举报
回复
好像是office没有装好,excel能运行吗?重装下office试下吧。
xiaozi145 2010-01-08
  • 打赏
  • 举报
回复
就那么几步。。。该添加的权限都添加了啊。。。
huwei12345 2010-01-08
  • 打赏
  • 举报
回复
权限问题,搜索一大把,看仔细点配置

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧