检索 COM 类工厂中 CLSID 为*的组件失败

jimil 2011-04-10 01:12:10
发布到服务器上后,出现这样的信息。

我是调用一个软件的com,检索 COM 类工厂中 CLSID 为 {4A110001-2109-4B5D-BC63-17AE8914E384} 的组件失败,原因是出现以下错误: 80080005 服务器运行失败 (异常来自 HRESULT:0x80080005 (CO_E_SERVER_EXEC_FAILURE))。

本机测试没有问题,服务器上用vs运行也没问题,但发布就出现这样的问题,应该是权限问题,但组件里没有这个dcom,而且web.config里也写进了administrator和密码。

网上别的几乎都是对dcom进行添加权限,如果没有,则如何解决?
...全文
3675 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoniqiu51 2011-06-09
  • 打赏
  • 举报
回复
我也遇到了这样的问题,在windows server 2008 64位系统上装office,组件服务一直都没有microsoft word 文档这一项,有哪位知道是怎么回事吗,xp,windows server 2008 R2 64位都没出现这样的问题,难道这跟系统有关?请赐教。1113530675@qq.com
jimil 2011-04-12
  • 打赏
  • 举报
回复
解决了,说句实话,不知道怎么解决的。

我按e章说的,加了administrator,后又修改了策略组,修改了注册表,能改的都改了,总算解决了,只差没重装系统成32位的了。

对于相同的问题,以后大家碰上也可以按这贴子来做,然后修改注册表,策略组这些,具体的修改方法网上找找就行,我这里不重复了,散分,e章帮助最大,分最多。

至于具体是哪项,等我有时间了再去研究研究。
孟子E章 2011-04-12
  • 打赏
  • 举报
回复
你可以参考下


64位的Windows 2008系统, 直接在Run里运行Dcomcnfg是找不到Microsoft Excel Application这一项的,


要在Run里运行mmc -32, 然后再点File --> Add/Remove Snap in --> add Component Services, 然后在这里就可以找到了.

On 64 bit system with 32 bit Office try this:

Start
Run
mmc -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Excel Application
jimil 2011-04-12
  • 打赏
  • 举报
回复
顶一下,有人能回答吗?
jimil 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 net_lover 的回复:]

在iis的应用程序池里面-属性-标识-把里面的帐号改成本地系统或者以管理员帐号登录。
[/Quote]

E章大虾,你说的我都改了,你看看是权限的问题还是注册的问题?如果是注册的问题,我再搞搞看,如果是权限的问题,你再帮我看看怎么解决
jimil 2011-04-11
  • 打赏
  • 举报
回复
对啊,正因为这样,所以应该是权限问题,而不是没注册的问题。

可是组件服务里并没有找到相同的dcom,问题又回来了,权限怎么搞好?
孟子E章 2011-04-11
  • 打赏
  • 举报
回复
VS里面是以当前用户身份运行的。
发布之后是匿名帐号,权限是不同的

你需要到管理工具-组件服务
里面设置权限
蓝色风影 2011-04-11
  • 打赏
  • 举报
回复
如果你是WIN7,右键用管理员身份运行VS就可以了
jimil 2011-04-11
  • 打赏
  • 举报
回复
确定是这样的吗?

那如果需要regsvr32,为什么vs里不仅可以引用com,还可以可以运行,只是发布后不能运行?

按理说,vs里可以引用的com是已经注册的com,引用后形成interop.xxxx,这个应该是已经注册的吧?
jimil 2011-04-11
  • 打赏
  • 举报
回复
不,这个没用,我在dcom里没有找到相应的dcom,也就是说,我在windows2008 64位系统下安装的软件可以在vs的com里有引用并能用,但在dcom里却没有。
davidcoffee 2011-04-11
  • 打赏
  • 举报
回复
段传涛 2011-04-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 net_lover 的回复:]
最重要的一点,你的组件需要现在服务器上安装或注册
[/Quote]
顶 。
找这个组件 注册下试试。
这是iis的问题
孟子E章 2011-04-10
  • 打赏
  • 举报
回复
最重要的一点,你的组件需要现在服务器上安装或注册
孟子E章 2011-04-10
  • 打赏
  • 举报
回复
在iis的应用程序池里面-属性-标识-把里面的帐号改成本地系统或者以管理员帐号登录。

孟子E章 2011-04-10
  • 打赏
  • 举报
回复
64位注册的方法是:
你管理员身份登录。运行
c:\Windwos\WOW64\regsvr32 x:\xx\x.dll
jimil 2011-04-10
  • 打赏
  • 举报
回复
64位系统,可能是这个原因,那64位怎么解决这个问题?
孟子E章 2011-04-10
  • 打赏
  • 举报
回复
还有一个问题,你的组件系统是否都是32位的还是64位的?通过系统是64位的,注册方法是不同的
孟子E章 2011-04-10
  • 打赏
  • 举报
回复
不可能 adminstrator 的权限还不够的,估计是你没有设置正确。另外,你的adminstrator帐号启用了没?
cfvgodot 2011-04-10
  • 打赏
  • 举报
回复
恩 我也碰到过。。。不过不知道我的方法能不能搞定你的!

我搞了很久也没搞明白到底怎么回事,后来给IIS访问用户那里改成ADMINISTRATOR就可以了。。。真TM变态!换别的用户都不管用,就只有超级管理员好使。。。。但这东西太危险了,最后被迫放弃COM。。。。

你搞搞看,有结果了告诉咱一下!
jimil 2011-04-10
  • 打赏
  • 举报
回复
我的是2008系统IIS7.5,修改应用池的标识没用,接着修改了站点的匿名访问用户为adminstrator也没用,修改了asp.net模拟用户为admin还是没用,重启iis也一样。

权限还是不够,还有办法吗?
加载更多回复(1)

62,042

社区成员

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

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

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

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