首页
学习
活动
专区
工具
TVP
发布

.Net调用Office Com组件原理及问题:检索com工厂组件检索 COM 工厂 CLSID {XXX} 组件失败

.html 现将文章整理如下: 最开始报错: Retrieving the COM class factory for component with CLSID {91493441-5A91-11CF...在网上(http://support.microsoft.com/kb/828550/zh-cn)查到CLSID {91493441-5A91-11CF-8700-00AA0060263B}组件是office...dll,最后卸载office,重新安装,报错 Retrieving the COM class factory for component with CLSID {91493441-5A91-11CF-.../200810/6270283a.shtml)找到原因可能是在Windows Server 2008 X64通过.NET程序调用32位com组件问题,按照其说,在Visual Studio,将编译目标平台...幻灯片】啊,原来服务器是64位了,没有加载32位组件,运行敲入mmc -32,在控制台中‘文件’‘添加/删除管理单元’选择‘组件服务’添加,就会出现【Microsoft Office PowerPoint

4.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

检索COM工厂CLSID{00024500-0000-0000-C000-000000000046}组件失败

具体解决方法如下: 1:在服务器上安装officeExcel软件; 2:在"开始"->"运行"输入dcomcnfg.exe启动"组件服务"; 3:依次双击"组件服务"->"计算机"->"我电脑"-...Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框; 5:点击"标识"标签,选择"下列用户"(用户名和密码写当前管理员)...; 6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应"编辑"按钮,在弹出"安全性"对话框填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"...本地启动"和"本地激活"权限; 7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出"安全性"对话框也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"...权限.这样,我们便配置好了相应ExcelDCOM权限; 最后设置IIS应用程序池标识,把此网站AppPool标识要设置NetworkService;

1K70

检索 COM 工厂 CLSID {000209FF-0000-0000-C000-000000000046} 组件失败,原因是出现以下错误: 80070005

今天遇到了同样问题,我们出现问题是不定时出现日志出现报错信息: Error:检索 COM 工厂 CLSID {000209FF-0000-0000-C000-000000000046} 组件失败..., 报错信息检索 COM 工厂 CLSID {000209FF-0000-0000-C000-000000000046} 组件失败,原因是出现以下错误: 80070005 这使我很纠结,...方法一(推荐):   检索 COM 工厂 CLSID {000209FF-0000-0000-C000-000000000046} 组件失败,原因是出现以下错误: 8000401a   1....运行dcomcnfg.exe打开组件服务,   2.依次展开"组件服务"->"计算机"->"我电脑"->"DCOM配置"->"Microsoft Word 文档"   3.右键打开“属性”对话框,点击..."/>帐号和密码,否则会提示检索 COM 工厂 CLSID {000209FF-0000-0000-C000-000000000046} 组件失败,原因是出现以下错误: 80070005。

5.4K50

8000401a错误解决方式(Excel)

检索 COM 工厂 CLSID {000209FF-0000-0000-C000-000000000046} 组件失败,原因是出现下面错误: 8000401a。...2,添加Com组件交互式訪问权限: 这也是网上搜索率最高一种方式,执行“DCOMCNFG”,找到 Microsoft Excel 97/2000/2002 – Microsoft Excel 应用程序...Microsoft Word 2000/2002 – Microsoft Word 文档 这些组件交互式訪问权限,详情能够參见: http://support.microsoft.com/kb/288366...这样方案应该是可行,但是我在我自己机器上一级server上试验过非常多遍都不行,最后我试着用特定用户来訪问,假设细分的话,这里能够算第三种解决方式了^_^ 3,添加Com组件特定用户訪问权限...); 执行DCOMCNFG,在Dcom组件里面找到Microsoft Excel 应用程序或者Microsoft Word 文档(和前面一样)-属性-标识里面选择“特定用户”,然后输入前面建立帐号和password

25520

【Android 逆向】启动 DEX 字节码 Activity 组件 ( 使用 DexClassLoader 获取组件失败 | 失败原因分析 | 自定义加载器没有加载组件权限 )

文章目录 一、使用 DexClassLoader 获取组件失败报错 二、失败原因分析 一、使用 DexClassLoader 获取组件失败报错 ---- 在上一篇博客 【Android 逆向】启动...DEX 字节码 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下文件到内置存储区 | 配置清单文件 | 启动 DEX 文件组件 | 执行结果 ) , 尝试启动 DEX 字节码文件...组件失败了 ; 其中最主要原因是 , 加载器双亲委派机制 , 加载 Android 组件需要使用系统指定加载器 , 这些加载器设置在 LoadedApk 实例对象 , 并且这些加载器只能从特定位置加载字节码文件...; 自己自定义 DexClassLoader 没有加载组件权限 ; 如果要加载组件 , 有两种方案 : 替换加载器 : 使用自定义 DexClassLoader 加载器替换 ActivityThread... LoadedApk 加载器 , 将原来 LoadedApk 加载器设置父节点加载器 ; 插入加载器 : 基于双亲委派机制 , 只要将我们自定义加载器插入到系统加载器之上就可以

95430

8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码。「建议收藏」

在使用Microsoft.Office.Interop.Word 转pdf时,出现如下错误 Retrieving the COM class factory for component with CLSID...{000209FF-0000-0000-C000-000000000046} failed due to the following error: 8000401a 因为配置标识不正确,系统无法开始服务器进程...解决方法一 打开组件服务—— 计算机——我电脑——DCOM配置 中找到Microsoft Word 97-2003 文档,右击“属性” 选择“安全”选项卡,将 启动和激活权限、访问权限以及配置权限添加...Everyone和NETWORK SERVICE用户 解决方法二 如果解决方法一无效,那么看下程序引用Microsoft.Office.Interop.Word版本是多少,我这里引用是15.0,后来改成...12.0本本后,问题解决 解决方法三 若以上两种方法都无效,那么进行如下操作 打开组件服务—— 计算机——我电脑——DCOM配置 中找到Microsoft Word 97-2003 文档,右击“属性

2.1K30

ASP.NET调用word开发环境下正常,iis下报错

检索 COM 工厂 CLSID {00024500-0000-0000-C000-000000000046} 组件失败,原因是出现以下错误: 80070005 找了很多,可行解决办法: http...://www.blogchinese.com/user1/53009/archives/2006/excel.shtml 其要点是:   1、运行DCOMCNFG,找到应用程序,设置属性:保持安全性默认...,标识交互式用户   2、全局选项卡默认配置安全性,访问和启动两种安全性都要添加以下用户: SYSTEM INTERACTIVE Everyone Administrators IUSR_...* IWAM_* 经验:   1、“DCOM 配置对话框,单击默认安全性选项卡”就是工具栏最右侧电脑图标   2、其实不用加那么多用户,只要加一个...参考:http://www.cnblogs.com/andy1016/archive/2010/02/21/1670498.html

1.1K60

ArcGIS二次开发前言

听着这一年似乎学了很多,但老实说,给知识做加法再容易不过,给知识做减法才是真正挑战。方便自己融会贯通,温故知新,特趁着年底总结自己梳理一遍自己知识体系。...AE只是提炼了AO核心功能,对AO大部分接口、库进行封装构成嵌入式组件 二者开发方法相同,具体就看使用需求了。...“互操作类型”实际是指一系列Com组件程序集,是公共运行库库文件,类似于编译好,接口等。 3....(3)检索COM工厂CLSID{XXXXXXXXX}组件失败 首先排查控件是否注册成功,若控件注册成功且依然报错,在64位系统,可以试试项目右键——属性——生成——常规——目标平台改为x86...,这通常是第三方COM组件只支持32位引起,这在低版本arcgis二次开发中经常会遇到。

80710

COM学习(三)——COM跨语言

COM是基于二进制组件模块,从设计之初就以支持所有语言作为它一个目标,这篇文章主要探讨COM跨语言部分。...;CLSID子健,一般给实现GUID;CurVer子健一般是子健版本 以版本字符串注册表项,该项主要保存:默认值,当前版本项目名称;CLSID当前版本库实现GUID 在HKEY_CLASSES_ROOT.../CLSID子健中注册以实现GUID字符串注册表项,里面主要包含:默认值,组件字符串名称;InprocServer32,组件所在模块全路径;ProgID组件名称;TypeLib组件类型库ID...:该函数用来生成对应工厂,而工厂负责产生对应接口实现。...DllCanUnloadNow:函数用来询问是否可以卸载对应dll,一般在COM中有两个全局引用计数,用来记录当前内存中有多少个模块,以及当前有多少个线程在使用它,如果当前没有线程使用或者存在对象数

1.7K40

干货 | COM劫持实战演示

用于存储新用户默认配置项 CLSID class identifier(标识符)也称为CLASSID或CLSID,是与某一个对象相联系唯一标记(UUID)。...一个准备创建多个对象对象应将其CLSID注册到系统注册数据库任务表,以使客户能够定位并装载与该对象有关可执行代码。...,dll劫持只能劫持dll,局限性比较大,但是com组件能够劫持如.com文件、pe文件、api文件等等 COM对象是注册表对磁盘上没有实现文件对象引用。...键指向路径来完成我们自己dll加载0 第二种思路就是覆盖COM对象,在HKCU注册表添加正确键值后,当引用目标COM对象时,HKLM键值就会被覆盖(并且“添加”到HKCR)。...dll路径即可 利用缺失CLSID 这里我选择是对计算器进行com劫持,首先找一下缺少CLSID并在InprocServer32下 找到了几个能够劫持com组件 保存并导出Logfile.CSV

1.3K10

COM_第四讲_保存GUID_优化使用代码

优化以前代码,让使用者更方便 一丶 优化思路 1.我们可以将我们写GUID(工厂ID)保存到注册表,并且保存一下DLL文件路径,遍历注册表去DLL路径即可. 2.每个工厂我们就要使用一个...如果要查看,可以运行CMD命令:     regedit命令来查看注册表 二丶插件注册 问题一:   当我们要把工厂ID写到注册表,但是DLL路径我们不知道,这些都是动态写入,所以我们需要利用插件注册模式..., const GUID& riid, void **ppObject)(其中这个就是COM前边讲根据ID返回工厂)  三丶设计注册表存储 上面已经准备好了,我们就要设计注册表了,然后依次写入到注册表...1.SuperMath 你工厂名字,要创建怎么一个文件夹 2.InprocServer32 这个是注册表标准文件夹,这里面的默认项填写是当前COM(也就是DLL)路径 3.ProID 可选写入...COM组件要跨平台使用,所以这个时候不得不考虑字符串了,C语言中字符串是\0结尾,而Pascal是前边是字符串长度,后面是字符串 全新字符串格式 BSTR 他是他们两个组合 前边是长度,中间是字符串

68500

一个简单页面加载管理(包含加载,加载失败,数据空,加载成功)

在最近公布比赛框架,发现了页面加载管理,觉得挺有用,所以做个简单笔记。 什么是页面加载管理呢?...我们一般在写网络请求时候,如果不涉及什么MVP,或者别的,就一个简单网络请求,然后再成功结果里刷新View,请求过程总不能白屏吧,所以有些人可能会让转一个圈,或者显示加载布局,然后等成功后再隐藏掉...{ /**加载view*/ private View loadingView; /**加载失败view*/ private View errorView; /**加载数据view...*/ STATE_SUCCESS(1),/*加载成功状态*/ STATE_ERROR(2),/*加载失败状态*/ STATE_EMPTY(3);/*加载数据状态*/ private...先是一个BaseFragment

1.1K40

videocapture_directshow是什么

一般播放效果流程如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ONNktbzr-1626603489414)(http://of6x0sb2r.bkt.clouddn.com...植入视骏HEVC解码器例子,了解DirecShow整个播放流程,如下图所示: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MavdR37W-1626603489417...注册Filter和Render 解码器属性 首先获取到这些FilterObject name、CLSID、Filename和FilePath [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传...IGraphBuilder * mGraph;//创建一个Filter Graph Manager组件 IMediaControl * mMediaControl;//提供控制过滤器图表多媒体数据流方法...GUID clId, IBaseFilter** pBaseFilter) { if (NULL == m_pDllGetClassObject) { return false; } //获取工厂接口

26720

Windows下Thumbnail开发总结

一、引言        Windows Thumbnail Handler是Windows平台下用来关联文件类型提供内容预览图一套COM接口。...通过实现Thumbnail相关COM接口,就可以为自定义文件格式提供内容预览图。如下图所示: ?       Thumbnail handler以COM组件形式注册使用。...因此,如果我们想给自己文件格式开发一个Thumbnail Handler以提供内容预览图,要以COM组件开发方式进行开发。...本人在之前并没有相关COM开发经验,对于COM组件相关概念、线程模型及原理也知之甚少。幸好微软我们提供了一个样板工程(CppShellExtThumbnailHandler)。...这个工程通过读取.recipe格式文件图片内容,来其生成预览图。

1.7K60

COM学习(一)——COM基础思想

COM是微软公司提出组件标准,同时微软也定义了组件程序之间进行交互标准,提供了组件程序运行所需环境。...COM是基于组件化编程思想,在COM每一个组件成为一个模块,它可以是动态链接库或者可执行文件,一个组件程序可以包含一个或者多个组件对象,COM对象不同于OOP(面向对象)对象,COM对象是定义在二进制机器代码基础之上...而OOP对象是建立在语言之上。脱离了语言对象也就不复存在.COM是独立在编程语言之上,是语言无关COM这一特性使得不同语言开发组件之间互相交互成为可能。...COM对象和接口 COM对象类似于C++对象,对象是某个实例。而则是一组相关数据和功能组合在一起一个定义。使用对象应用(或另一个对象)称为客户,有时也称为对象用户。...与接口类似,每个组件也用一个 128 位 GUID 来标识,称为 CLSID(class identifer,标识符或 ID),用 CLSID 标识对象可以保证(概率意义上)在全球范围内唯一性。

1.3K30

COM组件原理_Com组件

COM,接口就是一个抽象,每个接口有一个接口ID(uuid)。一个COM组件通常是连续继承下来,比如 IUNknow ->IDispath->IXX->CXX。...这就形成了一个COM组件,当然组件一般是一个钻石继承样子,这里为了简化原理把他们当成一个串形继承下来。...每个COM组件都有一个CLSID(uuid),这个CLSID是注册时候写进注册表,可以把这个CLSID理解这个组件最终可以实例化子类一个ID。...这样就可以通过查询注册表CLSID来找到COM组件所在dll名称。然后调用时候。...会调用DllGetClassObject()函数, 这个函数第一个参数是CLSID,表明想要调用DLL哪个组件(需要提醒是,一个DLL不一定只有一个组件)。第二个参数IID。

1.5K20
领券