asp.net中调用word的权限问题,弄了一天了还是搞不定
首先说明环境:winxp、office2003、.net2005
在网上找了很久,已经设定了组件服务--》microsoft word 文档 的安全,已经为启动和激活权限 、访问权限加了Everyone用户并已经设为最大权限。
现在的问题是:如果把标识设成了交互式用户。在 Word.Application WordApp = new Word.ApplicationClass()时就会出现:检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。这个应该是权限问题(查看了windows任务管理器,是Administrator用户也就是当前登陆用户,启动了winword.exe,郁闷啦,超级用户还有问题)。试了很多,只要是交互用户在这里就出错。
如果把标识设成启动用户,并且在web.config里设定 <identity impersonate= "true "/> ,那么Word.Application WordApp = new Word.ApplicationClass()可以通过,但在下面创建档:Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref ReadOnly);(或者是WordApp.Documents.Open()时)就会出现“无法打开宏储存”的错误。试了很多,只要是启动用户在这里就通不过。
哪位哥哥给个解决办法。谢了先!
------解决方案--------------------别人的答案
web中打开word为什么老是提示无法打开宏储存?
为用户没有在服务器端运行Word的权限,应在服务器端做如下操作:
1.开始--运行--dcomcnfg--Microsoft Word 文档--属性--身份标识--交互式用户
否则会出现“消息筛选器显示应用程序正在使用中”的错误
2.开始--运行--dcomcnfg--Microsoft Word 文档--属性--安全性--使用自定义访问权限--添加EveryOne用户
或者dcomcnfg--Microsoft Word 文档--属性--安全性--使用默认访问权限
dcomcnfg--默认安全机制--默认访问权限--添加EveryOne用户
否则会出现“拒绝访问权限”的错误,或者是无法打开宏存储
------解决方案--------------------帮顶
------解决方案--------------------学习
------解决方案--------------------我测试没有报错 windows 2003
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.ApplicationClass WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref missing, ref missing, ref missing, ref missing);
------解决方案--------------------UP
------解决方案--------------------用word从来没有碰到过
顶
------解决方案--------------------没碰到过...
------解决方案--------------------注意word的版本
------解决方案--------------------同意楼上,你开发时候用的是word2003,在服务器上装的时候也要用word2003。
------解决方案--------------------一样没碰上问题...
------解决方案--------------------出现“拒绝访问权限”的错误,或者是无法打开宏存储
还是权限没有设置好。
xp上好像是aspnet账户
2003是Network Service账户要有运行word的权限
------解决方案--------------------使用身份模拟应该可以解决权限问题.
------解决方案--------------------我用的也没有问题。windows2003+word2003+net1.1.4322
接孟子:
2.开始--运行--dcomcnfg--Microsoft Word 文档--属性--安全性--使用自定义访问权限--添加EveryOne用户
或者dcomcnfg--Microsoft Word 文档--属性--安全性--使用默认访问权限
dcomcnfg--安全机制--自定义访问权限--添加EveryOne用户
(加个aspnet再试)
否则会出现“拒绝访问权限”的错误,或者是无法打开宏存储
------解决方案--------------------EveryOne用户允许呢?
------解决方案--------------------http://support.microsoft.com/kb/288366/zh-cn
------解决方案--------------------