![OLE 错误代码 0x800704ec:此程序被组策略阻止。在 VFP9 中使用 COM](https://linux22.com/image/687988/OLE%20%E9%94%99%E8%AF%AF%E4%BB%A3%E7%A0%81%200x800704ec%EF%BC%9A%E6%AD%A4%E7%A8%8B%E5%BA%8F%E8%A2%AB%E7%BB%84%E7%AD%96%E7%95%A5%E9%98%BB%E6%AD%A2%E3%80%82%E5%9C%A8%20VFP9%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20COM.png)
系统概要:Windows 域中运行终端服务的 Server 2008 SP2 x86。
我最近将我的工作环境移到了一台新服务器上。我在上面描述的系统上使用 Visual Fox Pro 9 编写代码。我以前在 Windows 2003 终端服务器上工作。自从我移到 2008 服务器后,我遇到了一个让我完全困惑的问题。对于我正在编写的一些程序,我通过 COM 加载 Excel 2007 实例。问题是,我会随机遇到 Excel 实例无法初始化并显示以下错误消息“OLE 错误代码 0x800704ec:此程序被组策略阻止。有关详细信息,请联系您的系统管理员。”。该问题随机发生。似乎存在某种时间因素,因为如果我等待一会儿,问题就会停止,我的程序将再次按预期工作。我也曾幸运地执行过 gpupdate,但这并不能保证它能缓解错误。我确实觉得很奇怪,我总是可以通过 Windows shell 运行 Excel 而不会出现错误。
我迄今已采取的措施如下:
- 检查应用于域的所有组策略项,以查找可能应用的软件限制。没有任何会影响到我的限制。
- 实施 GPO 以将我的用户的软件限制设置为不受限制。
- 验证软件限制是否符合 HKLM 和 HKCU 中的预期
- 已启用软件限制日志记录。未记录任何阻止。
- 以管理员身份运行 Visual Fox Pro IDE
- 将所有相关路径的例外添加到影响我的用户的软件限制 GPO。
尽管如此,我还是没有找到解决办法。我发现唯一可靠的方法是注销然后重新登录服务器。到目前为止,这种方法总能解决问题,直到问题再次出现。到目前为止,我一直将这个问题视为软件限制问题,但目前我对此束手无策。
更新:
我发现了一些有趣的信息。我终于在 SRP 日志中找到了一条信息,显示 Excel 被阻止了。我通过 HKCU 配置单元中的 GUID 查找了阻止规则。这又让我困惑了。阻止规则是允许规则!以下是我研究的截图。
答案1
我们最近与管理的一家医疗服务提供商遇到了这个问题。他们的患者管理软件具有与 Word 执行“邮件合并”的功能。大约两周后,发生了一次存储故障,需要我们恢复软件数据库的备份,我们接到了他们的电话,报告说他们每次“与 Word 合并”时都会出现此错误:
还生成了 DCOM 事件 10000,每天出现第一个错误(服务器每晚都会重新启动)...
Unable to start a DCOM Server: {000209FF-0000-0000-C000-000000000046}. The error:
"1260"
Happened while starting this command:
"C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" /Automation -Embedding
他们在组策略中没有设置软件限制。这不是组策略。在尝试了所有方法(包括完全卸载/重新安装 Office 2010 和第三方软件)后,我终于找到了解决方案,至少对我来说是这样...
- 打开组件服务(32位),运行:
mmc comexp.msc /32
- 打开组件服务 > 计算机 > 我的电脑 > DCOM 配置。
- 右键点击Microsoft Word 97 - 2003 文档并选择特性。
- 选择安全标签,然后编辑...在下面配置权限。
- 添加网络服务和完全控制. 单击确定。
- 在下面身份选项卡,选择交互式用户。申请。确定。
这清除了错误并允许第三方软件成功地将数据发送到 Word。