为什么用VB6做的安装包在很多XP系统中都无法安装?尤其是使用了控件的那些!
如果不安装,将那些控件手动注册或用API注册,结果有些控件能用,有些不行,例如COMDLG32.OCX

解决方案 »

  1.   

    用管理员身份登录安装。
    用 SetupFactory 也一样,只是你打包时选择了适当选项后能在安装时提示你权限不够而已。
      

  2.   

    并不是提示什么权限不够,
    只是在运行微软自带的那个Setup.exe时或后,在运行咱的那个Setup1.exe之前提示系统某些部件过时,需要重新启动,然后重新启动,然后再次出现这个问题,继续重新启动,而后依旧,就这样周而复始,你将得到一个永远也无法更新那个(不知道是那个)部件的问题。
    困扰已久,诚盼高人指点!谢谢。
      

  3.   

    打包后不是只有三个文件,一个setup.exe、程序名称.cab、Setup.Lst,运行这个setup.exe就可以安装了
      

  4.   

    我当时也碰到过这种
    那是我没有把COMDLG32.OCX打进去
    有些控件当时收集不全
      

  5.   

    >并不是提示什么权限不够,
    >只是在运行微软自带的那个Setup.exe时或后,在运行咱的那个Setup1.exe之前提示系统某些部件过时,需要重新启动,然后重新启动,然后再次出现这个问题,继续重新启动,而后依旧,就这样周而复始,你将得到一个永远也无法更新那个(不知道是那个)部件的问题。
    >困扰已久,诚盼高人指点!谢谢。早说症状早就解决了。教训哪!
    VB 的 D & P wizard 是利用系统重新启动来卸载已经运行的系统文件,以便写入新的文件。
    出现这种情况是因为你的打包机系统比目标机新,它试图更新目标机的系统。但是 NT 技术的系统,包括 Win2000,是不允许重新启动中卸载系统文件的。所以不断重启。
    跟使用控件没什么关系。因为控件一般不是系统文件。解决方法:
    1 目标机打最新的补丁、
    2 用比较“旧”的操作系统打包。例如,我一直保留着一个 Win98(还不是 SE)。
    3 使用 Setup Factory 等其他打包工具,它不能更新时会放弃,所以可以通过。
      

  6.   

    基本上我都是用手动注册的
    1.用api把所有可能用到的文件拷贝到system32下
    包括打包时添加的vb的ocx,dll
    自己用的第三方的ocx,dll
    2.在程序的main中执行regsvr32
    分多次注册第三方的ocx,dll
    3.如果在新的xp系统上还发现有vb的ocx,dll文件找不到
    在程序的main过程中用regsvr32添加
    基本上就不会有什么问题了
    不过就是麻烦一些
      

  7.   

    关键是一定要拷贝到system32目录下
    vb的一些控件,特别是数据控件,COMDLG32.OCX等
    都是vb更新过的,如果不覆盖原来的
    和手动注册,是用不了的