Tom*_*s I 32 .net c# windows-7
我在Visual Studio 2008中遇到C#ASP .NET项目的问题当我使用Windows 7 Ultimate(x64)重新安装我的计算机时,问题就出现了.对此我也使用Office 2007.
我得到的错误信息是:
System.UnauthorizedAccessException:检索具有CLSID {000209FF-0000-0000-C000-000000000046}的组件的COM类工厂因以下错误而失败:80070005.at xxx.Utility.WordDocument..ctor(String filePath,HttpServerUtility util)at customer_communication.BuCreate_click(Object sender,EventArgs e)位于c:\ xxx\Website\customer\communication.aspx.cs:第127行
Tom*_*s I 33
这是我对此问题的修复:
我正在使用Win 7 64位和Office 2007
运行程序" dcomcnfg -32 ".(如果在64位下运行,你就找不到单词和excel组件)
转到"控制台根/组件服务/计算机/我的电脑/ DCOM配置/",查找Microsoft Word和Excel,然后选择属性.
转至安全性,并选择下的"自定义""配置权限.(如果需要的话,你可能要改变对方的权限为好,但我并不需要)加入'IIS_IUSRS’,并给它'完全控制’.
现在转到"身份"并选择"交互式用户".
完成后别忘了按"OK".:d
我希望这可以帮助你解决问题以及其他来到这里并阅读本文的人.
您应该为ASP.NET进程标识(IIS 5上的{MACHINE}\ASPNET或IIS 6上的网络服务)授予对Word COM组件的访问权限:
"控制面板 - 管理工具 - 组件服务 - 计算机 - 我的电脑 - DCOM配置"
找出"Microsoft Word文档",右键单击 - 设置 - 安全选项卡,为ASP.NET进程标识授予访问权限(本地和远程)(IIS 5为"ASPNET",IIS 6为"网络服务").
如果那样你得到一个"System.Runtime.InteropServices.COMException(0x800A13E9):内存不足.立即保存文件." 打开/添加文档时出现异常(我自己的expirience),只需删除%Temp%和\ Content.Word文件夹中的临时文件.
这个对我来说很难搞清楚,也许我的Windows mojo技能只是低于标准杆.但我无法在Windows Server 2008上以32位模式运行组件服务.希望这可以帮助其他人遇到同样的问题:
编辑:为了完整起见,为了让Word Interop在Windows Server 2008上运行,我还必须按照本答案中的说明创建Desktop文件夹.
启动dcomcnfg -32或dcomcnfg /32两者都无法在列表中显示目标应用程序(Microsoft Excel).
但是我按照指示@ 如何使IIS7与Office Interop很好玩,特别是关于启动mmc -32和手动添加组件服务管理单元的说明,我能够让它出现.(注意:虽然链接谈到IIS7,但我的问题是Windows服务).
这对我有用:
| 归档时间: |
|
| 查看次数: |
72762 次 |
| 最近记录: |