服务器端调用Word组件读取Word权限、未将对象引用到对象实例终极解决方案

时间:2022-06-01 21:44:10

最近因为业务需要,需要在服务器上调用Word组件,结果遇到各种问题,比如检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败、未将对象引用到对象实例。

根据网络上统一的解决方案,很多都是依葫芦画瓢,对于我使用的Windows Server 2015 R2来说,最终都没有解决我的问题,经过多天的摸索终于找到了解决方案。

此解决方案不需要在web.config里面配置角色。(本人只实验了Windows Server 2015 R2,其他待大家测试)

一、组件设置

1.控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档

之后,单击属性打开此应用程序的属性对话框。

2.打开安全选项卡,对于3个设置都使用自定义,然后将NetWork Service用户给予最大权限

3.在“标识”选项卡中选择启动用户。

二、IIS设置

1.打开IIS,在站点所使用的应用池上右键,选择高级设置--》进程模块--》标识--》选LocalSystem

三、系统文件夹

1.确保C:\Windows\System32\config\systemprofile\Desktop路径存在,文件不存在,则新建

2.确保C:\Windows\SysWOW64\config\systemprofile\Desktop路径存在,文件不存在,则新建

至此,我已经能正常通过网站导入Word文档了。