问题出错代码:
- Microsoft.Office.Interop.PowerPoint.Application _app = new Microsoft.Office.Interop.PowerPoint.Application();
- Microsoft.Office.Interop.PowerPoint.Presentations _prs = _app.Presentations;
- Microsoft.Office.Interop.PowerPoint._Presentation prsitem = _prs.Open(pptpath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
在本地运行打开PowerPoint完全没有问题,传到服务器上错误就出现了:COM 类工厂中 CLSID 为 {} 的组件时失败,原因是出现以下错误: 80070005 powerpoint,office com调用都会出现这个问题,权限不够。
关键是给在DCOM中找到powerpoint 幻灯片,设置权限后,还是不行,头疼中,上英文google查询了下,看到某个仁兄苦恼个问题和我的一样,他说重启后,就好了,于是恍然大悟,原来DCOM设置后,需要重启电脑才能生效,于是重启服务器,问题解决!
下面附解决方法:
1.控制面板-》管理工具-》组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Office PowerPoint幻灯片
2.单击属性打开此应用程序的属性对话框。
3. 单击标识选项卡,然后选择交互式用户。
4.单击"安全"选项卡,分别在"启动和激活权限"和"访问权限"组中选中"自定义",然后
自定义->编辑->添加ASP.NET账户和IUSER_计算机名
* 这些帐户仅在计算机上安装有 IIS 的情况下才存在。
5. 确保允许每个用户访问,然后单击确定。
6. 单击确定关闭 DCOMCNFG。
7.重启电脑,问题解决(最关键一步)