在远程服务器上调用windows的组件,遇到的问题,例如:office的word、ppt,Surfer绘图软件等组件的调用
使用ppt部署到服务器上,一直报错:检索 COM 类工厂中 CLSID 为 。。。。8007005的错误
找了好久,重装了多次office(office使用的是2010),就差重装电脑了,,,,,本地就是没问题,按照网上大家提供的资料,
1、运行“dcomcnfg”,打开 DCOM 配置程序。(或者 开始→设置→控制面版→管理工具→组件服务→计算机→我的电脑→DCOM配置) 找到Office组件,将 “身份标识” 选项卡中的用户设为 “交互式用户” 。
2、设置选中 “安全性” 选项卡中的 “使用自定义配置权限”,点击 “编辑”。
3、用户添加 EveryOne ,手动添加
结果在第一步就出问题了,找了好久,终于成功,特别在这里记录一下:
在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,但是却发现找不到office的组件程序
经过多方查询找到原因,是32、64位系统的问题
office是32位的组件,所以在正常的系统组件服务里是看不到的
解决方法:可以通过在运行里面输入 comexp.msc -32 来打开32位的组件服务,这样就可以看到了
虽然有些弹框,不过好像没有啥印象,我就点击了是,进去后就可以找到了
解决找不到组件问题参考:https://blog.csdn.net/goodjie_12/article/details/47021349
解决8007005问题参考:https://www.cnblogs.com/RiseSoft/p/6759697.html?tdsourcetag=s_pcqq_aiomsg
补充,在配置了以上操作后,出现了,不打开远程桌面(服务器无活动用户)调用的软件还是无法启动的问题,分两种情况:1、在使用ppt这个的时候(window server 2012),出现了不启动远程桌面,操作失败,解决方法,是给网站目录添加了高权限
2、在使用surfer的时候(windows server 2012 R2 DataCenter),出现了这个问题,我配置了权限无效,解决方法:
在webconfig的配置文件的system web的标签中的最后,添加上,高级权限的用户
<identity impersonate=“true” userName=“" password="" />