如果为Win98写程序,应使用VB5编译,因为Win98自带VB5虚拟机,oleaut32版本也正确,如使用VB6,由于msvbvm60.dll不是win98安装后的系统文件,因此打包时需要一起发行,建议用VB6开发For Win2000的程序。

解决方案 »

  1.   

    这个关键在于你的程序,可能还需要控件之类的
    你用打包程序打包的过程中就能看到需要哪些文件
    如果有的文件Win98中已有,则可不要
    这有什么好问的,
      

  2.   

    本人遇到过此类问题.为了使你的VB6程序在Win98上正常运行,必须明确你使用了哪些控件和VB6必须的运行库文件;再就是这些文件的注册.
    1.VB6必须的运行库:Msvbvm60.dll,Oleaut32.dll,Vb6chs.dll,VBAJet32.dll;其中Oleaut32.dll不能直接复制到SYS目录中,需要借助于安装制作工具,安装结束会提示Win98重新启动后程序才可以使用.
    2.你使用了的控件:如果你使用了Access数据库,则会用到Msjet35.dll,Dao350.dll(Dao360.dll);其它可能还有:Mscomctl.ocx,Mscomct2.ocx,Tabctl32.ocx,Comdlg32.ocx等,如果用到了,可以包括它们.
    3.有的控件有自注册功能,复制后即可运行,有的控件就需要借助于安装制作工具,如:InstallShield5 Professional Edition,可以制作中文界面的安装程序.
    4.为了方便,你可以使用VB6的打包功能,它可自动包括所需运行库及控件,但没有用到的控件也可能会打包进出.建议你在"专家门诊"中查找:减小打包.
    5.如果你已经完成了VB6程序制作,建议你仍然使用VB6,有利于程序的升级,完善尽可能我的功能.
      

  3.   

    在默认情况下,你可以看到vb6的引用中除了运行库等外,还包含了一个OLE Automation,这个虽然很常用到,但用户其版本却不一定比你的vb带的高,所以一个最简单的程序在默认情况下需要msvbvm60.dll和OLE Automation(OLE自动器)。
      

  4.   

    谢谢诸位,我原来的程序就使用VB5写的,只是个安装程序,其它都是用别的语言写的,所我又改用
    VB5了.问题虽然解决了,但感觉VB6真是麻烦事多.