vb6+sp5开发的OCX打包成cab的问题?

gis_men 2003-05-12 06:52:12
不知道我这个ocx是怎么回事,下载安装一直有问题,
我专门作了一个环境相同的测试机器,包括安装vb,
才能够正常使用。

我的按照msdn中要求的顺序:
1、签名ocx文件
2、用vb的package and deployment工具打成一个包Internet package(*.cab)的包
其中包含附属的文件,修改注册表
3、签名cab文件
4、放到网页上。

包括以下的附属文件:
1、Visual Basic For Application
c:\winnt\system32\msvbvm60.dll

2、Visual Basic runtime objects and procedures
c:\winnt\system32\msvbvm60.dll\3

3、Visual Basic objects and procedures
c:\Program Files\Microsoft Visual Studio\VB98\VB6.olb

5、Microsoft Scripting Runtime
c:\winnt\system32\scrrun.dll

4、OLE Automation
c:\winnt\system32\stdole2.tlb

6、Microsoft ActiveX Data Objects 2.5 Library
c:\Program Files\Common Files\System\ADO\msado25.tlb

7、Microsoft Windows Common Controls 6.0 (SP4)
c:\winnt\system32\mscomctl.ocx

9、Microsoft Windows Common Controls-3 6.0 (SP4)
c:\winnt\system32\comct332.ocx

还有两个文件我不知道作什么用:
10、c:\winnt\system32\MSSTKPRP.DLL
11、c:\winnt\system32\msvcrt.dll

另外还要引用一个第三方的控件,要求客户机必须安装。

修改注册表,在INF文件中的[AddToRegistry]段,添加一下
HKCR,"Software\VB and VBA Program Settings\WLDD\Version","DataVer",2,"1"

问题:在一台机器上,由提示下载的弹出窗口,确定后,页面还是空的,连不能
正常显示的小方块都没有,但是注册表已经被改写,UserControl的初始化过程中
已经执行。该机器没有vb,第三方控件已经安装。
我现在怀疑,我这cab 文件没有包含全部的支持文件,但是怎么检查缺少什么文件?


另外:还有没有其他的可以将vb的ocx打包成cab的工具?有的话推荐一个。
先谢谢大家。
...全文
164 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
gis_men 2003-05-15
  • 打赏
  • 举报
回复
还讨论我的问题,怎么办

我在客户机器上重新安装xp系统,以开发用机为服务器,还是用上面的问题。
我下载了一个vb6sprun.exe的vb6的sp5的运行时库安装在客户机器上面,
问题依然存在。

我对ocx控件的界面进行简化,去掉coolbar和imsgelist等控件,使该ocx只适用
Microsoft Common Controls 5(sp2)的低版本界面库。
可以使用。

但是,不幸的是,我重新安装客户机的操作系统后,同样的控件 有不能使用

请有相同经验的老大们帮帮我呀!
gis_men 2003-05-13
  • 打赏
  • 举报
回复
请教
SmileSkyNet 2003-05-13
  • 打赏
  • 举报
回复
要生成classid其实有一个办法,就是用InterDev,首先添加该控件到工具箱然后直接拖放到页面中就自动生成classid
Maconel 2003-05-13
  • 打赏
  • 举报
回复
我去试了,挺好用的啊,我的vb是没打sp5的
是不是你的ocx的visibale=false了
Maconel 2003-05-13
  • 打赏
  • 举报
回复
好的,我去试试,谢谢了
gis_men 2003-05-13
  • 打赏
  • 举报
回复
用ole view等工具,我上面不是说过了的吗?
你有没有安装visual studio enterprise,在工具集中就有呀。
Maconel 2003-05-13
  • 打赏
  • 举报
回复
这个我到知道,可是那个classid应该是多少怎么知道呢,好像在dreamwave里她自动会有一个,那个能用么?
gis_men 2003-05-13
  • 打赏
  • 举报
回复
放在网页上这个我会。
一般,打包完成后,会有一个测试的页面里面有例子。
我贴出来你参考一下:

<OBJECT ID="UserControl1"
CLASSID="CLSID:CF4BFB90-C25C-414B-891C-4BF0939AB17A"
CODEBASE="NetAnaProj.CAB#version=1,0,0,29">
</OBJECT>

其中id是名称,由你给定,classid应该是唯一的,可以用ole view等工具看
codebase包含文件名称和版本,给出的是一个相对路径,本例子中是在网页的
同一目录下。

只需要把这一段加到<BODY></BODY>之间就可以了
Maconel 2003-05-13
  • 打赏
  • 举报
回复
我也想知道,还有请问打成cab包后,要怎么用在网页上?
gis_men 2003-05-13
  • 打赏
  • 举报
回复
请教
gis_men 2003-05-13
  • 打赏
  • 举报
回复
难道就没有人做过类似的东西吗?
gis_men 2003-05-13
  • 打赏
  • 举报
回复
请教
gis_men 2003-05-12
  • 打赏
  • 举报
回复
什么其他的打包工具?
tshow 2003-05-12
  • 打赏
  • 举报
回复
用其他的打包工具试一试呢,看看如何

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧