相关疑难解决方法(0)

通过asp.net访问Office Word对象模型导致"由于以下错误而失败:80070005访问被拒绝."

我开发了一个网站,允许用户上传office文档,然后使用office对象模型将文档转换为HTML文件,然后将其显示在iFrame中.

当然,我已经包含对Office.interop.word的引用,并且该站点在我的开发机器上运行良好.当我将其上传到我的生产服务器时,网站运行正常,直到我尝试上传文档.我最初得到一个类似的错误,说"COM对象没有注册".我意识到我的生产服务器上没有安装Word.所以我安装了word,现在当服务器尝试访问word对象模型时,我收到以下错误:

检索COM类工厂CLSID组件{000209FF-0000-0000-C000-000000000046}失败,原因是以下错误:80070005次访问被拒绝.(HRESULT异常:0x80070005(E_ACCESSDENIED))

我在注册表中搜索了相应的CLSID,并找到了相应的文件夹.我说完全控制IUSR_帐户,因为我最终加入完全控制"每个人"错误的持久性,并确保这些权限继承下来到该文件夹​​的其余部分.然后我添加了对IUSR_的完全控制,并最终再次将"every"添加到我的microsoft office文件夹中.

不知道授予哪些其他权限以及为了使"访问被拒绝"错误消失的地方. 我一定是在错误的地方给予他们,因为据我知道,我不能有任何比"所有人""完全控制"更宽容.

谁能摆脱任何光明?

c# vb.net asp.net office-interop

49
推荐指数
4
解决办法
7万
查看次数

由于以下错误,检索具有CLSID {XXXX}的组件的COM类工厂失败:80080005

对于"检索具有CLSID {XXXX}的组件的COM类工厂由于以下错误而失败的故障排除过程:.Net中的80080005"错误是什么?澄清一下:我在运行时,在我的XP机器上得到这个,客户端是在管理员帐户下运行的.net代码.{XXXX}指的是我们内部的COM组件之一.

根据我的理解,0x80080005引用"权限被拒绝",但我在哪里检查/更改权限?或者我在这里完全错了,错误来自组件本身,而不是来自Windows COM子系统?

.net com interop

11
推荐指数
1
解决办法
5万
查看次数

具有32位VB6 COM对象的64位C#

我有一个32位进程内STA VB6 DLL.我遗憾地对此无能为力.我的C#组件大大受益于64位.无论如何从我的64位进程调用/接口这个32位dll?任何类型的包装或任何东西?

c# vb6 com interop

3
推荐指数
3
解决办法
9514
查看次数

标签 统计

c# ×2

com ×2

interop ×2

.net ×1

asp.net ×1

office-interop ×1

vb.net ×1

vb6 ×1