(1)将网站发布到远程服务器,出现了问题,web.config 找不到Microsoft.Office.Interop.Word,而远程服务器已经安装了word2003了。
错误原因:在网站上有word模板生成word 的功能。
解决办法:
http://www.mydown.com/soft/utilitie/others/107/439607.shtml
下载OFFICE IPA 安装完就ok了!
(2)检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
错误原因:不能向word写数据。
解决办法:一、
开始--》控制面板--》管理工具--》组件服务--》计算机--》我的电脑--》Dcom配件 找到Miscrosoft word2003 右键属性弹出"Microsoft word应用程序属性"对话框,点击"标识"标签,选择"交互式用户",点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORKSERVICE"用户,然后赋予"本地访问"权限.
这样,我们便配置好了相应的word的DCOM权限.
(其他系统:操作相同,添加ASP.NET账户和IUSER_计算机名)
解决办法:二、
在web.config中使用身份模拟,在 <system.web>节中加入 <identity impersonate="true" userName="你的用户名" password="密码"/>
</system.web>
解决办法三:
如果通过第一种方案设置后,还提示不能调用word生成,并且系统日志里记录了 不能启动或者找到 word相关的对象,这表明 在当前机器上的Asp.net 账户任然没有调用 word Dcom的权限 。可以尝试下列方法。
1.你可以尝试给 asp.net给多的权限 或者更改asp.net账户所属的用户组。
2.可以用指定的用户 运行Dcom
步骤:1.开始--》控制面板--》管理工具--》组件服务--》计算机--》我的电脑--》Dcom配件 找到Miscrosoft word2003 右键属性弹出"Microsoft word应用程序属性"对话框 选择 "标示" -》 选择指定用于运行 -》 填入你的系统登录的其他账户。比如管理员账户。用这个最高权限的账户去用心Dcom word 可以测试出你的程序是不是有问题,而排除是因为调用Docm word 权限不足导致程序出错。