迁移至Windows Server 2019后Office Interop组件COM类工厂访问被拒问题
解决Office Interop迁移至Windows Server 2019后的CLSID访问拒绝问题
首先明确:你遇到的CLSID {000209FF-0000-0000-C000-000000000046} 是Word的ApplicationEvents COM组件ID,属于Office事件触发相关的组件,并非主Word应用的CLSID,所以你在常规组件列表里找不到很正常。
以下是针对性的解决步骤:
重新注册Word COM组件
打开管理员命令提示符,根据Office的位数执行对应命令:- 64位Office:
regsvr32.exe "C:\Program Files\Microsoft Office\Office16\MSWORD.OLB" - 32位Office:
regsvr32.exe "C:\Program Files (x86)\Microsoft Office\Office16\MSWORD.OLB"
执行后会弹出注册成功提示,确认组件信息写入注册表。
- 64位Office:
配置DCOM权限
Windows Server 2019的DCOM安全策略比2012严格,需给应用程序池身份开放权限:- 运行
dcomcnfg打开组件服务,依次展开「组件服务」→「计算机」→「我的电脑」→「DCOM配置」 - 找到「Microsoft Word 97 - 2003 Document」(Office2016仍沿用此命名),右键选择「属性」
- 切换到「安全」标签:
- 「启动和激活权限」选择「自定义」→「编辑」,添加你的应用程序池身份(格式:
IIS AppPool\[你的应用池名称]),勾选「本地启动」「本地激活」权限 - 「访问权限」同样选择「自定义」→「编辑」,添加该身份并勾选「本地访问」
- 「启动和激活权限」选择「自定义」→「编辑」,添加你的应用程序池身份(格式:
- 回到组件服务根目录,右键「我的电脑」→「属性」→「COM安全」标签,分别在「启动和激活权限」「访问权限」的「编辑限制」中,也添加应用程序池身份并赋予对应权限
- 运行
验证运行身份的系统权限
应用程序池的运行身份需要具备以下权限:- 对Office安装目录(
C:\Program Files\Microsoft Office\Office16)和系统临时文件夹(C:\Windows\Temp、C:\Users\[运行身份用户]\AppData\Local\Temp)的读写权限 - 在本地安全策略的「用户权限分配」中,赋予该身份「以操作系统方式操作」「替换进程级令牌」权限(临时测试可添加,长期使用按需评估)
- 对Office安装目录(
修复Office安装
若组件注册后仍有问题,打开控制面板→「程序和功能」,找到Microsoft Office 2016,选择「更改」→「快速修复」,修复可能损坏的注册信息和文件。
内容的提问来源于stack exchange,提问作者Barnabeck
相关产品推荐
相关产品推荐

