您的位置:首页 > 编程语言 > ASP

图文讲解NTFS和FAT32硬盘下 asp.net 生成word 错误: 80070005 和 错误:8000401a 的解决方法

2010-08-23 17:20 621 查看
公司要实现用asp.net/c#来调用word模板,连接数据库来替换模板中的标记,在本机运行调试正常,上传到服务器之后报错

本机环境配置为vs2008+office2003,C盘NTFS,word安装在D盘(FAT32),网站运行所在盘也为FAT32

服务器环境配置vs2008+office2003,所有盘都为NTFS

FAT32和NTFS的最大不同就是安全机制,所以在本地FAT32运行很好的程序在服务器NTFS上面就是跑不起来,下面的解决方法是针对所有盘都是NTFS来解决的

在NTFS下面的报错信息


检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误:80070005。

源错误:



行42:}
行43:
行44:WordApp=newWord.ApplicationClass();
行45:WordDoc=newWord.DocumentClass();
行46:


另外还会报一个8000401a的错误.

在经历过无数次重装服务器后,找到了一个解决方法,下面的解决方法可以完全解决上面的80070005和8000401a错误:

运行dcomcnfg或者打开控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到MicrosoftWord文档之后,单击属性打开此应用程序的属性对话框





单击标识选项卡,然后选择下列用户,输入管理员账号和密码





单击"安全"选项卡,在"启动和激活权限"组中选中"自定义",然后自定义->编辑->添加ASP.NET账户和IUSER_计算机名(这个其实就是inter的来宾账户),INTERACTIVE,NETWORKSERVICE.其中前面3个的权限全选,后面的NETWORKSERVICE只用勾选本地启动。













然后在"访问权限"组中选择自定义,分别添加ASP.NET账户,IUSER_计算机名(这个其实就是inter的来宾账户),NETWORKSERVICE,将他们的本地访问和远程访问权限都设置为允许





最后,在web.config的<system.web>中加入

<identityimpersonate="true"userName="administrator"password="您的密码"/>

另外:这样的解决方法,只能说能解决,但是算不上完美,因为在web.config中加入管理员账号和密码肯定不是很好。我在本机运行的时候,电脑除了C盘是NTFS,其他盘都是FAT32,我的WORD也是安装到了FAT32格式的D盘中,所以在本地测试的时候,设置比较简单就能使用asp.net调用word,下面是FAT32的情况下的DOCM截图

在标识中,选择交互式用户





在启动和激活权限中,我一共有8个用户,全部赋给了所有权限









在访问权限中,我一共有6个用户,除了最后面的SYSTEM只有本地访问权限外,其他的账户权限都是本地访问+远程访问









配置权限我没有做修改,默认即可





这种word在FAT32,网站运行在FAT32的情况下,不用对web.config进行设置

如果各位朋友在使用中有问题,欢迎留言讨论
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐
章节导航