zoukankan      html  css  js  c++  java
  • 注册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即可解决。

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

  • 相关阅读:
    深度学习3--caffe的安装(only CPU)
    深度学习2--安装opencv3.1
    深度学习1--ubuntu14.04+win10双系统
    java回调机制——基本理解
    mysql修改默认端口号后从windows命令行登录
    UTF-8编码与GBK编码下的字符长度
    代码质量的几点新思考
    软件工程质量之“工程元数据”
    Junit概述
    maven+springmvc项目启动时,request mapping not found……
  • 原文地址:https://www.cnblogs.com/iiwen/p/4516888.html
Copyright © 2011-2022 走看看