IIS 发布 之 Word导出本地测试正常,发布报错

  用C#动态生成Word文档功能实现了,在本地的机器运行时是好的,但程序发布 IIS 或 远程服务器 上就报错,

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

  报错如下图:

  

  

方法一(推荐):

  1、运行dcomcnfg.exe打开组件服务,

  2、依次展开 "组件服务" → "计算机" → "我的电脑" → "DCOM配置" → "Microsoft Word 文档"

  3、右键打开“属性”对话框,点击“标识”选项卡,选择"下列用户",把管理员的用户及密码正确填写进去...

  4、点击"安全"选项卡,依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,然后依次点击它们的编辑,把everyone添加进去,并加入所有的权限

  5、请设置web.config中的<identity impersonate="true" userName="Administrator" password="abc123"/>帐号和密码,否则会提示检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

  例如:

<system.web>
   <identity impersonate="true" userName="Administrator" password="abc123"/>
</system.web> 

方法二:
  1、控制面板 → 管理工具 → 组件服务 → 计算机 → 我的电脑 → DCom配置 → 找到Microsoft Word文档之后

  2、右键 “属性” 打开此应用程序的属性对话框。

  3、单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后 自定义->编辑->添加ASP.NET账户和IUSER_计算机名或Network Service用户

  * 这些帐户仅在计算机上安装有 IIS 的情况下才存在。

   注意:确保允许每个用户访问,然后单击确定。

  4、单击确定关闭 DCOMCNFG。

时间: 2024-10-21 07:37:48

IIS 发布 之 Word导出本地测试正常,发布报错的相关文章

导入MySQL测试数据库employee报错

导入MySQL测试数据库employee 报错 下载地址:https://launchpad.net/test-db/ 上传解压: [[email protected] ~]# tar xf employees_db-full-1.0.6.tar.bz2 [[email protected] ~]# cd employees_db 使用mysql命令行工具,导入建库建表语句和数据 employee.sql中是建库建表语句,默认使用的是InnoDB引擎,可以自行修改 [[email protect

iOS 真机测试的时候报错 After modifying system headers, please delete the module cache at &#39;/ /Users/smile/Libr

这个是Xcode缓存导致的 fatal error: file ' '/ /Users/smile/Library/Developer/Xcode/DerivedData/ModuleCache/VE5HTVL861UA' was built note: after modifying system headers, please delete the module cache at '/Users/ligang/Library/Developer/Xcode/DerivedData/Modul

Access to Image at &#39;file:///Users canvas本地图片跨域报错解决方案

1.设置跨域 添加跨域条件   crossorigin="anonymous" 前提是后端支持这个图片跨域 2.上面加了之后还是报错 如标题所示 你需要把你的项目放到服务器上面跑 或者自己搭建一个本地服务器 然后在访问你的html Access to Image at 'file:///Users canvas本地图片跨域报错解决方案 原文地址:https://www.cnblogs.com/jiebba/p/9733919.html

如何开发、本地测试、发布 Laravel 扩展包?

 Laravel/ 1年前/  4022 /  11 现在已经有了很多,关于如何开发 Laravel 扩展包的文章.但是大多文章写的太过片面,不够完整,而且我在实际进行开发扩展包的时候,还是遇到了很多的问题,我把自己的开发经验,以及遇到的问题记录下来,分享给大家. 扩展包开发 1. 创建新项目,初始化扩展包配置 首先创建一个新的 Laravel 项目: composer create-project laravel/laravel laradmin -vvv 接下来在此项目中,创建目录 pack

Linux中进行用户UID测试导致系统报错

今天在Ubuntu14.04下进行了一个小测试,即修改系统文件/etc/passwd的用户UID值,却导致系统Bug,无法正常使用.因为修改/etc/passwd需要root权限,当再次准备使用sudo命令复原文件时,报错: sudo:unknown uid 1000:who are you? 重启之后却直接进入最低权限的guest账号,同时使用sudo命令是报错: sudo:unable to change to root gid:Operation not permitted仍然无法解决.

Spring-test使用JUnit时,测试类autowired报错,create bean error

Spring-test使用JUnit时,测试类里面使用autowired会报错, 报create bean error...... 但是controller里面@autowired可以正常运行的. 在网上提问,确认我一定是在扫描包上出现了问题.但是controller里面明明是可以得啊. 等等,我是使用maven构建的项目,项目分成了main.test两个部分.配置文件都在main文件夹下,那么扫到的包相应的都是mian文件夹下的包,而测试类所在的包扫描不到也就理所当然了. 解决方案:暂时先给t

【MySQL案例】tpcc测试--执行tpcc_start报错Segmentation fault

原文链接地址:http://blog.csdn.net/jason_asia/article/details/41543947 [报错信息] 执行进行tpcc_start测试的时候遇到报错: tpcc_test.sh: line 12: 24509 Segmentationfault      ./tpcc_start [报错原因] 是由于重新安装了mysql软件,并且mysql的版本是不一样的,而tpcc是编译安装的,所以导致tpcc调用安装时编译的mysql lib库文件失败. [解决方法]

Eclipse 插件之间互相依赖, 导出Jar包安装, 报错“java.lang.NoClassDefFoundError”

在开发 插件A 与 插件 B 过程中, Plugin A 需要使用到 Plugin B 的某一个类 ClassB, 假设ClassB 位于 Plugin B  的PackageB 中, 那么需要在Plugin B 的manifest.mf 文件中添加: Export-Package: PackageB 并在Plugin B 的manifest.mf 文件中添加: Import-Package: PackageB 以此声明依赖关系. 分别导出两个插件的Jar包后,拷贝到Eclipse的/plugi

WORD 2016打开PDF文档报错的解决办法

直接用word2016打开pdf文档会报错误如下: 解决办法: 用管理员方式运行word,就能正常打开了