没得办,vb的缺点就是不能把所有相关的dll打进exe去,
唯一的办法就是:根据其他系统的要求来决定.
如对方系统是win98(无msvbvm6.dll),那你就得用vb5来编译exe,
用到的控件都得是win98的已经有的控件,而且版本不能太新.
如对方是2000,你用vb6编译的exe就没问题了,但控件也得用系统
控件,不能用其他第三方控件.

解决方案 »

  1.   

    要不这样:
    你把需要的控件copy到要安装的机器上system path 或app path(如果已经有的可以不要),然后用regsvr32手工注册(如果需要注册的话)。
      

  2.   

    re darkdragon同意,不过可是用程序来注册控件,不可以吗?
      

  3.   

      可以的,你可以在程序启动时,拷贝所有的dll、ocx到系统文件夹下,系统文件夹可以用api:getsystemdirctory得到,然后 Shell(AppPath & "Rregsvr32.exe/s " & FileName, vbHide),其中filname使你注册的dll或ocx