我们在测试服务器中安装了单词,以便让Word Interop对其进行操作。 导致这个新的错误,我不能应用我推荐的修复程序,我无法在Componenet服务DCOM配置上找到Microsoft Word。 那么我该如何解决这个问题?
答案 0 :(得分:3)
使用ERR tool我们看到错误:80070005是拒绝访问,因此您要么没有权限,要么没有副设计。
for hex 0x80070005 / decimal -2147024891 :
COR_E_UNAUTHORIZEDACCESS corerror.h
MessageText:
Access is denied.
DIERR_OTHERAPPHASPRIO dinput.h
DIERR_READONLY dinput.h
DIERR_HANDLEEXISTS dinput.h
DSERR_ACCESSDENIED dsound.h
ecAccessDenied ec.h
ecPropSecurityViolation ec.h
MAPI_E_NO_ACCESS mapicode.h
STIERR_READONLY stierr.h
STIERR_NOTINITIALIZED stierr.h
E_ACCESSDENIED winerror.h
General access denied error
11 matches found for "0x80070005"
由于此知识库文章中记录的所有问题,我提到了设计:Considerations for server-side Automation of Office。
在服务器操作系统上安装Office会导致各种问题。对于VSTO开发,我在Win7上安装TFS以进行自动构建,以避免服务器端互操作问题。
不要使用Server OS进行Office自动化,根据不支持的知识库文章,使用Win7!
Microsoft强烈建议不要使用许多替代方案 要求Office安装在服务器端,并且可以执行最多的操作 比自动化更高效,更快速地完成常见任务。之前 您将Office作为项目中的服务器端组件, 考虑替代方案。
答案 1 :(得分:2)
不知道你在链接的stackoverflow帖子中尝试了什么:当COM对象没有出现时你通常需要运行
mmc -32
并手动添加组件服务管理单元。这在Windows Server 2008 R2和Windows Server 2012中都适用于我。
您还需要在以下位置制作桌面目录:
C:\的Windows \ Syswow64资料\配置\ systemprofile
C:\的Windows \ system32 \设置\ systemprofile
答案 2 :(得分:2)
您应该寻求不是准确的000209FF-0000-0000-C000-000000000046代码,在您的情况下它可能有不同的名称。我有00021401-0000-0000-C000-000000000046,尝试根据最后一对数字寻找。并且不要忘记在mmc控制台中添加服务组件选项卡。
<强>已更新强>
答案 3 :(得分:1)
这比在SO答案中输入要容易得多,因为有各种各样的宫殿需要检查和对齐。
但总体目标是1)追踪尝试访问和启动/激活COM组件的安全帐户,以及2)哪个COM组件出错。
注意:所描述的程序会增加您的安全风险,因此请务必为您所做的所有更改创建出色的日志,以便了解问题的确切解决方法,同时还可以回滚一切都无关紧要。
注意2 无论是否需要重新启动服务器,都可以一次更改一次。\ - 所以你知道是什么修复它。
从Windows日志开始 - 它们通常会记录所涉及的确切安全主体以及它尝试访问/激活的DCOM组件。通常两者都有:安全上下文和组件非常明显 - 在这种情况下,您可以跳到下面的dcomcnfg
段。
如果您找到了,那么临时测试的一种方法
组件/帐户是允许安全性的管理员权限
帐户或“每个人”访问该组件,看看你是否
消除错误
注意:这些是临时措施,仅用于测试。别忘了把所有东西都卷回来。
您的永久配置更改将在Component Services MMC代码段中完成。您可以手动将其添加到提升的MMC窗口,也可以通过在管理员权限下运行以下命令来实现:
/&GT; DCOMCNFG
尝试在“组件服务/计算机/我的电脑/ DCOM配置/”下找到感兴趣的组件,右键单击并执行属性:
转到安全标签,然后将激活和访问权限调整到最低限度,以解决您的问题,但保持尽可能靠近锁定状态。
注意:我从未使用MS Office interops这样做。请务必考虑这样做的所有安全隐患:
这就是你如何开始的。我已经在所有类型的Windows上做到了这一点,它总是感觉不同。通常我必须依赖其他跟踪此情况的方法:SysInternals“间谍”工具,Windows安全审核, COM +应用程序属性,并在某些情况下直接修改文件系统或注册表项ACL。大多数时候它是实验室/开发者机器,所以黑客,如编辑注册表项的安全性,是好的。
再次 - 跟踪并回滚您不需要的所有更改!