• 注册Com组件..


    开发一些第三方的接口或者功能时..有时会需要接入对方提供Com组件..是一个dll文件..

    这个文件会在你的程序中引用..

    比如一个CMBChina.dll文件..这是招商银行的支付开发时必备的..

    下面我们就以这个为例来说一说..

    他们提供的Demo里..有一个写好的Vbs文件..正常情况下只要 "以管理员身份运行"  就可以完成注册了..

    但是本人的电脑是Win8  .. 右键选项里根本就没有这一项..

    没办法玩自动..只有手动了..

    在开始菜单里找到系统工具的  命令提示符  右键  以管理员身份运行

    打开窗口是这样的..注意:  是<管理员:命令提示符>

    这个时候我们就可以开始注册了..但是有个问题需要注意..

    要注册的Dll文件应该放在英文的文件夹中..不应该出现中文路径..

    开始注册:

    普通的32位注册就可以直接输入  regSvr32 你的路径

    例如:

    确定之后,会提示成功注册!!

    如果是64位的,则需要指向到一个固定的目录才能正确注册..

    前边的步骤都是一样的..

    打开命令提示工具之后..先输入  CD C:WindowsSysWOW64

    目录会转至 C:WindowsSysWow64

    然后输入跟前边注册一样的命令 regSvr32 你的路径

    确定..提示成功!!

    到了这里..组件的注册就完成了..

    但是新的问题来了..

    招商银行的Demo依然会报错..

    检索 COM 类工厂中 CLSID 为 {820280E0-8ADA-4582-A1D9-960A83CE8BB5} 的组件时失败,原因是出现以下错误: 80040154

    这是为什么呢..

    [转]检索 COM 类工厂中 CLSID 为 { } 的组件时失败,原因是出现以下错误: 80040154。

    检索 COM 类工厂中 CLSID 为 {XXXX-XXXX-XXX-XXXXX-XXX} 的组件时失败,原因是出现以下错误: 80040154。

    如以上问题出现,多半是因为COM控件未在目标机器上面注册造成的
    解决方法:
    Resvr32 .net中引用控件的名称
    如果注册成功,问题不在出现

    但是如果是在x64位的系统中,即使控件注册成功,错误依照提示,是因为大多数第三方写的COM控件,只支持32位的系统,

    在VS中找到引用控件所在的项目--〉属性--〉生成--〉常规---〉目标平台---〉选择X86即可解决。

    修改之后..程序神奇的跑了起来..哈哈.

  • 相关阅读:
    为什么选择 Yeoman 及 Yeoman 的安装
    NPOI高效匯出Excel
    CentOS7 MongoDB安裝
    打印函数调用堆栈
    libevent源码分析:eventop
    libevent源码分析:time-test例子
    libevent源码分析:event_assign、event_new
    libevent源码分析:bufferevent
    lievent源码分析:evbuffer
    epoll实现压测工具
  • 原文地址:https://www.cnblogs.com/iiwen/p/4516888.html
Copyright © 2020-2023  润新知