服务器端IIS中部署带Office组件程序
开发的程序需要用到Office组件(Word、Excel等)的时候,往往在开发环境中运行正常,但是部署到服务器上就出问题。
1)首先保证开发环境引用的dll正确
.net 4.0以上版本,添加引用Microsoft.Office.Interop.Word.dll
引用完成后,开发环境已经可以正常运行了。
2)如果直接将程序发布,部署到服务器IIS上的话,用到office相关功能时,系统就会报错
(检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005)
解决这个问题,首先要确保服务器上按照了Office 办公软件(完全安装)。
3)运行“dcomcnfg”,打开 DCOM 配置程序。(或者 开始→设置→控制面版→管理工具→组件服务→计算机→我的电脑→DCOM配置)
找到Office组件,将 “身份标识” 选项卡中的用户设为 “交互式用户” 。
设置选中 “安全性” 选项卡中的 “使用自定义配置权限”,点击 “编辑”。
用户添加 EveryOne ,手动添加
这样权限就配置好了,重新打开网页,相关功能都可以正常使用了。
对 Word 进行编程,实际上就是通过 .Net Framework 去调用 Word 的 COM 组件,所有要在 Web 环境下调用 COM 组件的时候,都需要对其进行相应的配置。
很多朋友都反映在 Windows 环境下调试正常的程序,一拿到 Web 环境中就出错,实际上就是因为缺少了这一步。
另外:可以考虑使用NPOI第三方组件,同样可以操作 .docx文件(doc文件目前好像无法处理),.xls / .xlsx文件;使用NPOI就不需要再在服务器上安装Office软件,再配置权限什么了。后续,整理好了,会再写篇关于NPOI的文章。
服务器端IIS中部署带Office组件程序的更多相关文章
- 【续集】在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题
dudu 的一篇博文:在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题 针对 IIS 部署 ASP.NET 5 应用程序的问题,在上面博文中主要采用两种方式尝试: VS2015 的 Publ ...
- NetCore入门篇:(十二)在IIS中部署Net Core程序
一.简介 微软已经为net在iis中的部署提供了良好的支持,在IIS中部署NetCore是一件很容易的事. 二.在IIS中部署Net Core程序 1.微软官方文档有详细说明.进入 2.如果你已经熟悉 ...
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
如何在Visual Studio 2017中使用C# 7+语法 前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...
- 怎样在win7 IIS中部署网站
怎样在win7 IIS中部署网站? IIS作为微软web服务器的平台,可以轻松的部署网站,让网站轻而易举的搭建成功,那么如何在IIS中部署一个网站呢,下面就跟小编一起学习一下吧. 第一步:发布IIS文 ...
- 怎样在win7 IIS中部署网站?
IIS作为微软web服务器的平台,可以轻松的部署网站,让网站轻而易举的搭建成功,那么如何在IIS中部署一个网站呢,下面就跟小编一起学习一下吧. 第一步:发布IIS文件 1:发布你所要在IIS上部署的网 ...
- 在IIS中部署Asp.Net网站
在IIS中部署Asp.Net网站 1.添加IIS或者删除IIS,在控制面板=>程序和功能=>打开或关闭功能 启动iis,右键计算机=>管理=>服务和应用程序=>Inter ...
- IIS中使用Microsoft.Office.Interop.Excel 常见问题:RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA) 的异常。等
IIS中使用Microsoft.Office.Interop.Excel 异常1: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} ...
- 在IIS中部署.net core应用
在IIS中部署 .NET Core应用 对于熟悉IIS的程序员来说,将 .NET Core Web应用部署在IIS中,无疑是方便统一管理的事情.网上给出很多如何在IIS中部署 .NET Core 应用 ...
- 【转】Tomcat中部署java web应用程序
http://www.blogjava.net/jiafang83/archive/2009/06/02/279644.html 转载:今天给大家介绍怎样在Tomcat5.5.9中部署Java Web ...
随机推荐
- cudaMemcpy与cudaMemcpyAsync的区别
转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5231857.html 简单可以理解为:cudaMemcpy是同步的,而cudaMemcpyAsync是异步的 ...
- 解决华为手机不打印Log信息的问题
在之前安装了Android Studio后,发现了一个很苦恼的事情,就是在程序中的写Log语句,不能正常的在Logcat中打印出来,这对于解决程序bug真是一刀切断,让人无从下手,在各种尝试后,首先我 ...
- JDK中日期和时间的几个常用类浅析(三)
java.text.SimpleDateFormat SimpleDateFormat类是用于把字符串解析成日期时间和把日期时间格式化成字符串的工具类.该类主要和java.util.Date类配合 ...
- iOSiOS开发之数据存储之NSKeyedArchiver
1.概述 NSKeyedArchiver归档和plist文件存储不同的是NSKeyedArchiver可以直接保存对象.如果对象是NSString.NSDictionary.NSArray.NSDat ...
- Linux之split命令
split - split a file into pieces 切割一个文件至多片 参数: -a, --suffix-length=N 使用的后缀的长度,默认长度为2,例如'aa','ab' ...
- javaWEB与cookie
Cookie1. Http协议与Cookie(了解) * Cookie是HTTP协议制定的!先由服务器保存Cookie到浏览器,再下次浏览器请求服务器时把上一次请求得到Cookie再归还给服务器 ...
- PRINCE2 有级别吗?
PRINCE2是分级别的,有基础级和专业级两个级别 Foundation基础级考试没有报考条件限制, 完全根据学员掌握知识的能力和实际工作经验 Practitioner 专业级考试不可越级 1.持有P ...
- Java第二章 变量
1.什么是变量? 存储数据的基本单位. 2.数据类型分为: 基本类型和引用数据 3.基本数据类型和引用数据类型的区别: 基础数据:不同的变量会分配不同的存储空间,改变一个变量不会影响另一个变量 引用数 ...
- python 自动化接口测试(6)
迎接新的一波更新吧,这次是基于图灵机器人的一个api接口的测试. 这是api的接口:http://www.tuling123.com/openapi/api 我们试着通过浏览器直接访问看下 这是反馈的 ...
- ecshop3.6商品如何按照销量排序
ecshop订单状态对应值:order_status有5中状态,并且当客户确认收货后,order_status的数值不一定是1也有可能是5.order_status = 0表示订单未确认order_s ...