1、第一步在windows2016服务器上安装IIS,具体不在这里讲述了,网上比较多,建议全部安装
可参考https://www.cnblogs.com/abeam/p/9963503.html
2、IIS安装后,安装office2007(项目中调用com组件打印Excel)
安装后配置组件服务,因为安装的32位office,在运行只执行comexp.msc -32打开组件服务。
权限设定
3、在IIS发布网站
由于老的网站是.NET2.0的对应的是
程序池改为2.0,经典模式
同时在高级设置里启用32位应用程序改为True
还有设置标识,默认是applictionPoolIdentity,这个新版的IIS加入的用户,在系统内找不到的
如要添加则直接写 IIS AppPool\应用程序池名称
我们的项目标识必须用LocalSystem,否则在打印Excel后,关闭不掉Excel进程,提示权限问题。具体函数
GetWindowThreadProcessId(t, out processId); 总是返回0,。只有把程序池的标识改为LocalSystem,Excel进程会关掉,
但是检查日志时还是有报关闭Excel异常,但是Excel确实关闭了,具体原因也还是没有查清楚。