• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > ocx自动下载的问题--已经按正确的方法去做了,但还是不行

ocx自动下载的问题--已经按正确的方法去做了,但还是不行

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了ocx添加方法,mscomm32.ocx注册方法,查看ocx方法,ocx注册方法,ocx文件的注册方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ocx自动下载的问题--已经按正确的方法去做了,但还是不行
描述:

我用mfc写了一个控件,然后打控件和所需的dll一起打包成cab后,在网页上codebase指明下载地址,同时控件也插入到了网页中,最后把客户端的ie安全级别降低,在弹出警告框下下载这个cab,但是这一切做完后在没有装vc的客户端下,ocx没有下载下来,把需要的dll复制过去网页可正常打开,一切正常.这就是说dll下载不下来,ocx可以。这是为什么?而且如果有wincab,IExpress 2.0把ocx,和dll打成cab 包的话那什么都下不下来。不知道为什么?大家帮我看一下到底是哪里出了问题,资料也查了很多,先谢了
我的inf文件内容如下
    [version]
    signature="$CHICAGO$"
    AdvancedINF=2.0
    [Add.Code]
    MFC42D.DLL=MFC42D.DLL
    MFCO42D.DLL=MFCO42D.DLL
    MSVCRTD.DLL=MSVCRTD.DLL
    printocx.ocx=printocx.ocx
   [MFC42D.DLL]
   file-win32-x86=thiscab
   DestDir=
   RegisterServer=yes       //这条设不设都试了
   [MFCO42D.DLL]
   file-win32-x86=thiscab
   DestDir=
   RegisterServer=yes       //这条设不设都试了
   [MSVCRTD.DLL]
   file-win32-x86=thiscab 
   DestDir=
   RegisterServer=yes     ////这条设不设都试了
   [printocx.ocx]
   file-win32-x86=thiscab
   clsid={D781F57E-A5EE-41A1-8087-AC1C1A15C19F}
   DestDir=
  RegisterServer=yes
   然后用这条语句子打包CABARC n ll.cab MFC42D.DLL MFCO42D.DLL MSVCRTD.DLL printocx.ocx ll.inf 
    网页上的语句是这样: classid="clsid:D781F57E-A5EE-41A1-8087-AC1C1A15C19F" id="Printocx1" width="100" height="50" codebase="http://192.168.50.152:111/ll.cab#vertion=1.0.0.1">


解决方案1:

微软在系统目录下的预安装的MFC动态支持连接库,
只是release版的,
没有Debug版的

解决方案2:

[Add.Code]
    MFC42D.DLL=MFC42D.DLL
    MFCO42D.DLL=MFCO42D.DLL
    MSVCRTD.DLL=MSVCRTD.DLL
    printocx.ocx=printocx.ocx
改为:
    printocx.ocx=printocx.ocx
    MFC42D.DLL=MFC42D.DLL
    MFCO42D.DLL=MFCO42D.DLL
    MSVCRTD.DLL=MSVCRTD.DLL
    
最好先regsvr32 -u 一下
试一试吧。成功了给我加分

解决方案3:

msvcrtd.dll是不需要注册的,另外你的程序是调试版本的,强烈建议你改成release版本的,一可以减少下载包的大小,二可以提高你程序的运行性能。此外,涉及到MFC的DLL你最好是到微软的网站上找一个最新的MFC42.CAB,他会自己决定是否当前系统有必要安装mfc的库,同样你自己的DLL和ocx文件最好也要带上版本号,这样如果下载版本比当前版本旧的话就不会下载了。

解决方案4:

3721的inf
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
CnsMin.dll=CnsMin.dll
cns02.dat=cns02.dat
[CnsMin.dll]
file-win32-x86=thiscab
clsid={B83FC273-3522-4CC6-92EC-75CC86678DA4}
FileVersion=1,5,0,7
RegisterServer=yes
[cns02.dat]
file-win32-x86=thiscab
RegisterServer=no
泡泡的inf
[version] 
; version signature (for both Windows NT) do not remove
signature="$WINDOWS_NT$"
[Add.Code]
ppinstall.ocx=ppinstall.ocx
; needed DLL
[ppinstall.ocx]
file-win32-x86=thiscab
clsid={CF051549-EDE1-40F5-B440-BCD646CF2C25}
FileVersion=1,0,0,3
RegisterServer=yes  
; end of INF file
Macromedia Flash Player 7 的inf
[Version]
Signature="$Chicago$"
AdvancedINF=2.5
[DefaultInstall]
CopyFiles=SWFiles, inffile
AddReg=SW.AddReg
RegisterOCXs=RegisterOCXSection
[DefaultInstall.nt]
CopyFiles=SWFiles, SWFilesNT, inffile
AddReg=SW.AddReg
RegisterOCXs=RegisterOCXSection
[DefaultUninstall]
cleanup=1
Delfiles=SWFiles
delreg=SW.DelReg
UnRegisterOCXs=UnRegisterOCXSection
[strings]
productname="Shockwave Flash"
; added for the win 98 cd install
GUID = "{D27CDB6E-AE6D-11CF-96B8-444553540000}"
GUIDFACT = "{D27CDB6E-AE6D-11CF-96B8-444553540000}"
DefaultName = "Macromedia Shockwave Flash"
ComponentID = "Flash"
VersionNumber = "7,0,19,0"
LocaleID = "EN"
[RegisterOCXSection]
%11%\macromed\flash\Flash.ocx
[UnRegisterOCXSection]
%11%\macromed\flash\Flash.ocx
[SW.AddReg]
;  shockwaveflash is used here the sync with the currently used CIF files on www.microsoft.com
; if we used shockwave for flash then durring the IE4 uninstall we would not get uninstalled
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ShockwaveFlash,"QuietDisplayName",,"%ProductName%"
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ShockwaveFlash,"QuietUninstallString",,"RunDll32 advpack.dll,LaunchINFSection %17%\swflash.inf,DefaultUninstall,5"
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ShockwaveFlash,"RequiresIESysFile",,"4.70.0.1155"
; added for win 98 cd install
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\%GUID%",,,"%DefaultName%"
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\%GUID%","ComponentID",,"%ComponentID%"
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\%GUID%","IsInstalled",1,01,00,00,00
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\%GUID%","Version",,"%VersionNumber%"
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\%GUID%","Locale",,"%LocaleID%"
; Add mime type into IE accept header
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Accepted Documents","flash",,"application/x-shockwave-flash"
; 9/10/98  smp  added key for win98 uninstall from control panel...
HKLM, "Software\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents\SwFlash","Installed",,1
[SW.DelReg]
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ShockwaveFlash,"QuietDisplayName",,"%ProductName%"
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ShockwaveFlash,"QuietUninstallString",,"RunDll32 advpack.dll,LaunchINFSection %17%\swflash.inf,DefaultUninstall,5"
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ShockwaveFlash,"RequiresIESysFile",,"4.70.0.1155"
; added for the win 98 cd install
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\%GUID%",,,"%DefaultName%"
HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\%GUID%","ComponentID",,"%ComponentID%"
HKLM,"SOF

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 写了个ocx,里面设了属性和方法
  • 关于ocx带返回值的方法
  • 请教:VS2005ocx添加方法的问题
  • ocx空间调用Create方法崩溃
  • 编译出的OCX如何能在VBS中调用其方法
  • OCX定义的方法如何返回句柄?谢谢
  • ocx隐藏后调用方法失败?
  • OCX的方法有结构体数组参数,应怎么弄
  • ocx里面添加方法的顺序有关系吗
  • OCX开发,如何实现带字符串参数的方法?

相关文章

  • 2017-06-04 请问。activeX有两个方法。在IE中用javascript凋用。。。。。。。。。
  • 2017-06-05 超菜问题??????????????????
  • 2017-06-04 求COM规范文档~
  • 2017-06-05 求答DLL两种方式
  • 2017-06-04 vs2005编译atl生成的activex控件时,PRJ0050问题
  • 2017-06-05 内存泄漏会不会导致死机?
  • 2017-06-04 ocx打包成cab应该怎麽做?
  • 2017-06-05 得到了线程的ID,如何得到它的句柄?
  • 2017-06-05 我的服务Service程序要用到数据库,必须等到数据库服务启动了,我的服务才能启动,可是我怎么知道数据库服务启动了?
  • 2017-06-05 怎么样单步调试dll工程

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请教使用ActiveX控件中<PARAMNAME=VALUE=>的问题
    • 关于COM组件聚合的疑问
    • 学习做activex控件,需要那些知识啊,对COM,ATL必须熟吗?
    • 在com的一个方法中要求定时循环访问另一个方法,怎么实现?
    • 小弟是初学者,近来看书,有许多东西不明白,请高手指点!!
    • 使用excelexe将编辑框数据倒入到excel时,提示“未找到宏“CopyRow””?
    • 急!ocx注册时不能加载某个库,否则(regsvr32不退出),帮忙分析!。谢谢
    • 问几个基础问题:
    • 关于#import导入dll的使用的务必请各位来看看!!!
    • 没有LIB怎样调用DLL中的Class,超难啊!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有