0

我正在尝试使用 word 自动化来计算 word 文档中的页数。到目前为止,我遇到了这些错误:

  1. Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005.

  2. 打开文档时 Word 卡住了。

我目前的决议和到目前为止采取的步骤是:

  1. 将注册表项[HKEY_CLASSES_ROOT\AppID\WINWORD.EXE]从更改{A86A40B3-0008-4D41-975C-BB586C7121E3}{00020906-0000-0000-C000-000000000046}

  2. 在 DCOM 配置DCOMCNFG.EXE中进行了以下更改:

    • 在其 appID“{A86A40B3-0008-4D41-975C-BB586C7121E3}”下显示的“Microsoft Word 应用程序”中,授予用户iusr_<MACHINE_NAME>本地午餐权限(仅限)并将身份设置为“启动用户”。

    • 在“Microsoft Office Word 97 - 2003 文档”中,也被某些人称为“Microsoft Word 文档”(可能取决于 word 版本),我为 iusr 和 iwam 提供了完全启动和访问权限,将身份验证级别设置为“无”,设置启动用户到我自己的管理员用户。

“2-b”部分中所有 3 个 mod 的组合最终使所有这些磨难工作并且现在正在运行。使用我自己的用户启动是对打开文档时单词卡住的响应。将身份验证设置回默认值会导致错误“1”。将启动用户设置回“启动用户”会导致错误“2”。

目前的情况是一切正常,但只有当我的用户在机器上登录并处于活动状态时,我对我必须使用必须登录的自己的用户并且身份验证设置为这一事实并不感到兴奋没有任何。

我写这篇文章是为了回答那些像我一样挣扎了好几天才能让它工作的人,并希望能得到一些关于我如何提高安全性的答案,也就是删除启动用户并重新设置身份验证,而不是24/7 登录到生产机器(网站启动时)。

开发机规格:
Windows XP Pro 32bit
IIS 5.1
Classic ASP Website
COM+ C# object做自动化。

4

1 回答 1

0

避免用户 24/7 全天候登录的解决方案是在调用 Word 之前模拟帐户并以编程方式加载用户配置文件(为此,帐户需要本地管理员)。

另一种解决方案是构建一个执行相同操作的 Windows 服务。

于 2012-03-15T10:37:00.387 回答