日期:2014-05-18  浏览次数:20368 次

请教个配置Word的DCOM权限的问题
一段生成WORD对象实例的代码,在服务器上运行正常,在我本地就有错。代码如下:
C# code

try
{  
    app = new Word.ApplicationClass();
    object t=templatePath;
    doc = app.Documents.Add(ref t,ref o,ref o,ref o);
    doc.Activate();
               
}
catch(System.Exception err)
{
    throw new Exception(err.Message);
}



在app = new Word.ApplicationClass()一句报告错误:
检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005

运行dcomcnfg,在WORD文档的“启动和激活权限”、“访问权限”、“配置权限”中增加ASP.NET,IWAM,IUSER,Everyone四个用户,并均授予能分配的所有权限;在“标识”选项卡中选择“交互式用户”,错误依旧。将“标识”选项卡中的用户更换为当前用户(当前用户可正常使用WORD及VBA),重启后错误依旧。不知道还有哪里需要设置?我的电脑是WinXP操作系统,已经完全安装了Office 2003。谢谢各位,问题解决马上给分

------解决方案--------------------
应该是NetWrok Service用户
------解决方案--------------------
1:在服务器上安装office的Excel软件.

2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

4:在"DCOM配置"中找到"Microsoft Word 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Word 应

用程序属性"对话框

5:点击"标识"标签,选择"交互式用户"

6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加

一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK 

SERVICE"用户,然后赋予"本地访问"权限.

这样,我们便配置好了相应的Word的DCOM权限.

注意:这是在WIN2003上配置的,在2000上,可能是配置ASPNET用户


------解决方案--------------------
我这里有配置Excel的,应该和Word的差不多。
配置DCOM

具体配置方法如下:

1:在服务器上安装office的Excel 软件.

2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

5:点击"标识"标签,选择"交互式用户"

6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.