惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
量子位
GbyAI
GbyAI
腾讯CDC
T
Tailwind CSS Blog
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
Docker
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
Netflix TechBlog - Medium
Jina AI
Jina AI
IT之家
IT之家
Y
Y Combinator Blog

博客园 - 蹲在路边写代码

SQL Server 2005 无法删除用户的解决方法 遍例指定目录及子目录下的所有文件添加进数据库 改善SQL语句的效率的几条原则,不断积累中 一些常用的WebServices 转Javascript的IE和Firefox兼容性汇编 - 蹲在路边写代码 - 博客园 转--使用 Request.QueryString 接受参数时,跟编码有关的一些问题 - 蹲在路边写代码 IE的showModalDialog与FireFox的window.open 父子窗口传值示例 三种常见选项卡效果 - 蹲在路边写代码 - 博客园 C#高级编程学习笔记(五)字符串与正则表达式 C#高级编程学习笔记(四) 内存管理和指针 SQL SELECT 语句完整的执行顺序 C#高级编程学习笔记(三)委托和事件 C#高级编程学习笔记(二)运算符和类型转换 C#高级编程学习笔记(-)C#基础 对象和类型 继承 构造函数和析构函数的原理及在C#中的运用(转载) CSS在IE与Firefox下的兼容性 CSS Hack 汇总 .NET的ORM工具SubSonic2.03的配置 ASP.NET的页面间传值方法 - 蹲在路边写代码 - 博客园
8000401a错误解决方案(Office Word,Excel,PowerPoit应用程...
蹲在路边写代码 · 2012-08-29 · via 博客园 - 蹲在路边写代码

最近开发需要用到Excel和Word编程,开发环境是VS2010和Office2010,部署的时候出现了一些错误如下:

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a。 的错误,

搜索了一下解决方法,总结如下:

1,增加虚拟权限:

在web.config里面增加

<identity impersonate="true" userName="administrator" password="password"/>的键值;要求administrator具有管理员权限,这种方案使用后确实可行,可是不利于部署,因为有经验的人都知道把一个最高权限的服务器帐号密码公开显示在配置文件上有什么后果。

2,增加Com组件的交互式访问权限:

这也是网上搜索率最高的一种方式,运行“DCOMCNFG”,找到Microsoft Word 97-2003 、 Microsoft Excel 应用程序 、Microsoft PowerPoit 应用程序 文档  这些组件的交互式访问权限,详情可以参见:http://support.microsoft.com/kb/288366

3,增加Com组件特定用户的访问权限。

建立一个所需的帐号(例如test),权限为Power User或者User;

用此帐号运行一次word或者excel(确保有访问权限);运行DCOMCNFG,在Dcom组件里面找到Microsoft Excel 应用程序或者Microsoft Word 文档(和前面一样)-属性-标识里面选择“特定用户”,然后输入前面建立的帐号和密码就可以了

在有的机器上测试还需要在前面的安全标签里面添加这个账号的启用和访问权限.当然直接用自己登陆的帐好也是可行的

操作整个流程如下:

1、增加虚拟权限,检查web.config中是不启动用户权限访问。

<identity impersonate="true" userName="administrator" password="password"/>

2、运行dcomcnfg打开组件服务,

依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置" ,找到"Microsoft Excel应用程序"或"Microsoft Word应用程序",右键打开属性对话框,点击"标识"选项卡。按图操作如下:


如果使用第三套方案,可以直接指定一个用户名:


注意:如果这里启动不了用户,可能是你没有启动Server服务,启动一下就可以了。这个很容易忽略的,因为开发者的电脑都会启动,但服务器为了安全不一定启动哦。

按照以上方法基本上能解决您遇到的这个8000401a错误。