服务器Word自动化权限(一些答案和一些问题)
我试图使用word自动化来计算word文档中的页数。 到目前为止,我遇到了这些错误:
-
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005.
-
打开文档时单词卡住了。
我目前的决议和目前采取的步骤是:
-
将注册表项
[HKEY_CLASSES_ROOT\AppID\WINWORD.EXE]
从{A86A40B3-0008-4D41-975C-BB586C7121E3}
更改为{00020906-0000-0000-C000-000000000046}
。 -
在DCOM配置
DCOMCNFG.EXE
进行了以下更改:-
在其appID“{A86A40B3-0008-4D41-975C-BB586C7121E3}”下显示的“Microsoft Word应用程序”中,为用户提供了
iusr_
本地午餐权限(仅限)并将标识设置为“启动用户”。 -
在“Microsoft Office Word 97 – 2003文档”中也被一些人称为“Microsoft Word文档”(可能取决于word版本)我给iusr和iwam完全启动和访问权限,将身份validation级别设置为“无”,设置启动用户到我自己的管理员用户。
-
“2-b”部分中所有3个mod的组合最终使所有这些考验成功并且现在正在运行。 使用我自己的用户进行启动是在打开文档时对单词卡住的响应。 将validation设置恢复为默认值会导致错误“1”。 将启动用户设置回“启动用户”会导致错误“2”。
目前的情况是一切正常,但只有当我的用户登录并在机器上处于活动状态时我才不会因为我必须使用我自己的用户必须登录并且认证设置为没有。
我写这个作为一个答案,为那些在我这里努力工作的人,并希望得到一些答案,我可以如何提高安全性,即删除启动用户和设置回认证,而不是每周7天每天24小时登录生产机器(当站点启动时)。
开发机器规格:
Windows XP Pro 32位
IIS 5.1
经典ASP网站
COM + C#对象执行自动化。
避免让用户24/7全天候登录的解决方案是在调用Word之前模拟帐户并以编程方式加载用户配置文件(为此帐户需要本地管理员)。
另一个解决方案是构建一个执行相同操作的Windows服务。