关于VB打包问题,一直找不到原因所在,请各路高手指点

zhlym 2009-02-18 04:31:24
做了个VB6.0标准EXE,用到不到API,用VB自带的打包工具做成EXE安装包测试,居然怎么也安装不了,具体发现如下面5个DLL注册不成功或无法更新(其实这时提示重启,但重启后再装还是问题依旧),安装自动退出
VB6STKIT.DLL
VB6CHS.DLL
olepro32.dll
oleaut32.dll
asycfilt.dll

没办法,又找Setup Factory 7.0来打包,此软件打出来的包可以正常安装(直接利用工程打的包),但出了个问题就是安装完了,VB做的EXE一运行,在窗口标题提示“没反应”字样,仔细查核了VB做的EXE需要做用的库和DLL和OCX,确实一个不漏,但是与VB自带的打包文件一对比,发现Setup Factory打的包缺少了如上面提到的5个DLL,照着把上面5个DLL加入到Setup Factory里,可发现Setup Factory做的安装包在安装也是出错提示5个DLL要么注册不了,要么说正在使用无法更新(其实这时提示重启,但重启后再装还是问题依旧),现在变成了
问题一:做的安装包如成功安装,但EXE在个别的机器上会出现窗口“无响应”字样,类似死掉,但看进程CPU一点也不占着
问题二:以为倒至EXE出现窗口“无响应”字样的情况可能是上面5个DLL没有,但5个DLL在安装包里一加入,打出来的包死活装不了

如上问题请高手们指点迷津,困了好几天了。
...全文
195 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
东方之珠 2009-02-19
  • 打赏
  • 举报
回复
up
zhlym 2009-02-19
  • 打赏
  • 举报
回复
为了打包,今天把系统还原了一下,发现我所说的5个DLL确实是装了VB软件在SYSTEM32目录下才有的(不是系统自带的)我把5个DLL一个个试,不管怎样如把DLL在高级属性里选中 注册COM 或 注册类型库 ,那在安装时就一定提示不能注册或类型库不能加载,现在我的疑问是这5个DLL即然是VB用到的文件,不知道是不是EXE调用时一定是否会用到?再就是如果这个5个DLL不选 注册COM 和 注册类型库,那么安装是没问题的,可是这样相当只把文件COPY到SYSTEM32下不注册此不等于没用?实在郁闷呀,请大家再指点
zhaozidong86 2009-02-19
  • 打赏
  • 举报
回复
经常遇到这种问题,似乎没法解决,还是换installshield吧,什么问题都没有
of123 2009-02-19
  • 打赏
  • 举报
回复

用 VB 自带的安装工具在 Win98 下打包。在所有的 Windows 系统上就都可以安装了。你的问题是,打包机的系统文件版本比目标机新,造成系统文件更新困难。

VB 自带的安装工具,已经确定是一个 Bug。因为它是依赖重启系统来更新系统文件的,但 Win2k 以上NT 系统不再支持系统文件重启更新。因此造成反复重启。

在没有打过任何更新补丁的 Win98 下打包,携带最原始版本的系统文件。安装时,仅仅提示目标文件比安装文件新,是否保留。用户选择全部保留就可以了。
CandyNie 2009-02-19
  • 打赏
  • 举报
回复
查看一下那5个DLL文件的时间,如果是比较旧的,比如1998年的,一般就不用打包的了,否则会提示比操作系统的还要旧,一般Setup Factory 7.0只要使用正确,打包是很方便和顺利的,我现在就是用它来打包的
zhuhuofong 2009-02-19
  • 打赏
  • 举报
回复
我也磁到这样的问题,打包之后安装时提示安装的文件比现有文件更新。后来就查了一下,在系统已有的文件不要打包进去。把系统没有的打进去。实在不行了,要不就用手工注册要用的到东西。要不直接用BAT做打包文件
zhlym 2009-02-19
  • 打赏
  • 举报
回复
呼,收工
zfl2k 2009-02-19
  • 打赏
  • 举报
回复
那5个别一起加,一个一个的加进去,就知道哪个引起不能安装的了,一般可以不需要这个dll
hyp429 2009-02-18
  • 打赏
  • 举报
回复
哪里有InstallShield下载?
oyljerry 2009-02-18
  • 打赏
  • 举报
回复
手动注册看能否注册上,检查注册返回结果错误...
zhlym 2009-02-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xredhat 的回复:]
Setup Factory 7.0 中可以设置ocx,dll是否自动注册的属性,然后在“安装进行时”直接写注册的代码,很简单
[/Quote]
这些我也知道,只是我上面说的问题这当中就不只是选个自动注册属性就了事,选了也没用,我提到的5个DLL就是不听话
xredhat 2009-02-18
  • 打赏
  • 举报
回复
Setup Factory 7.0 中可以设置ocx,dll是否自动注册的属性,然后在“安装进行时”直接写注册的代码,很简单
zhlym 2009-02-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Cooly 的回复:]
N年以前碰到过,怎么解决已经忘了。

目标机是什么OS?
[/Quote]

是的,安装全是windows 2000以上的系统,麻烦帮想一下,这问题实在困我太久了,谢谢
Cooly 2009-02-18
  • 打赏
  • 举报
回复
N年以前碰到过,怎么解决已经忘了。

目标机是什么OS?
xrongzhen 2009-02-18
  • 打赏
  • 举报
回复
用WiseInstallationSystem打包试试

7,764

社区成员

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

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