首页 > 代码库 > ASP.NET生成WORD文档,服务器部署注意事项

ASP.NET生成WORD文档,服务器部署注意事项

 网上转的,留查备用,我服务器装的office2007所以修改的是Microsoft Office word97 - 2003 文档这一个。

 

ASP.NET生成WORD文档服务器部署注意事项 
1、Asp.net 2.0在配置Microsoft Excel、Microsoft Word应用程序权限时 error: 80070005 和8000401a 的解决总   2007-11-01 11:30  
检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 
控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Word文档  之后  单击属性打开此应用程序的属性对话框。    单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后  自定义->编辑->添加ASP.NET账户和IUSER_计算机名   * 这些帐户仅在计算机上安装有 IIS 的情况下才存在。   13. 确保允许每个用户访问,然后单击确定。   14. 单击确定关闭 DCOMCNFG。  

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a 。   运行dcomcnfg打开组件服务,   依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"   找到"Microsoft Excel应用程序"或"Microsoft Word应用程序",   右键打开属性对话框,点击"标识"选项卡,   点"下列用户",把管理员的用户密码正确填写进去...   点击"安全"选项卡,   依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,   然后依次点击它们的编辑,把everyone添加进去,并加入所有的权限...   OK,解决此问题! 
2、请设置web.config中的<identity impersonate="true" userName="administrator" password="51aspx"/>帐号和密码,否则会提示检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。   例如  

[c-sharp] view plaincopy
  1. <system.web>   
  2.     <identity impersonate="true" userName="administrator" password="chuguo186"/>   
  3. </system.web>  

 

 

PS:以上内容来自http://dev.firnow.com/course/4_webprogram/asp.net/netjs/200824/98835.html

----------------------------------------------------------分割线---------------------------------------------------------------

 

 

前一阵子做开发需要用到Excel和Word编程,本人用的是Vista系统,开发环境是VS2005和Office2007,测试无任何问题,可是到部署的时候出现了一些令人很头痛的问题,老是会出现例如:

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a。 的错误,在网上查询了许多资料,大多是二种解决方案:

1,增加虚拟权限:

在web.config里面增加

的键值;要求windowsloginid具有管理员权限,这种方案使用后确实可行,可是不利于部署,因为有经验的人都知道把一个最高权限的服务器帐号密码公开显示在配置文件上有什么后果。所以这种方案不可行。那么就牵涉到第二种方案。

2,增加Com组件的交互式访问权限:

这也是网上搜索率最高的一种方式,运行“DCOMCNFG”,找到

Microsoft Excel 97/2000/2002 - Microsoft Excel 应用程序 Microsoft Word 2000/2002 - Microsoft Word 文档  这些组件的交互式访问权限,详情可以参见:

http://support.microsoft.com/kb/288366

这种方案应该是可行的,可是我在我自己的机器上一级服务器上试验过很多遍都不行,最后我试着用特定的用户来访问,如果细分的话,这里可以算为第三种解决方案了^_^

3,增加Com组件特定用户的访问权限。

这才是我今天说的重点,也是帮我解决了实际难题的一重解决方案,简略的说可以这么做:

建立一个所需的帐号(例如test),权限为Power User或者User;

用此帐号运行一次word或者excel(确保有访问权限);

运行DCOMCNFG,在Dcom组件里面找到Microsoft Excel 应用程序或者Microsoft Word 文档(和前面一样)-属性-标识里面选择“特定用户”,然后输入前面建立的帐号和密码就可以了

 

在有的机器上测试还需要在前面的安全标签里面添加这个账号的启用和访问权限.当然直接用自己登陆的帐好也是可行的

 

 

PS:第二部分内容来自:http://blog.sina.com.cn/s/blog_586b6c0501008hy3.html

----------------------------------------------------------分割线---------------------------------------------------------------

PS:网络收集,非原创!