使用vs2008打包vb6开发的程序,在2000、xp、2003系统下都运行正常。在win7下安装时提示dll组件注册失败,所有自定义dll都是这样。手动使用“regsvr32”注册dll成功后,软件可以运行正常。vs2008安装项目中,dll的register方式为“vsdrfCOMSelfReg”,改为“vsdrfCOMRelativePath”后安装时不会提示出错,但软件依旧不能运行。
请问有人知道解决办法吗? 

解决方案 »

  1.   


    我是用win7开发及打包的。
      

  2.   

    程序自注册。调用shell运行regsvr32进行注册。
      

  3.   

    如果调用的dll和ocx不多,手写一个批处理完成注册即可使用,不用安装
    如 REGSVR32  RICHTX32.OCX
      

  4.   

    shell "regsvr32 /s xxxx.dll",vbHide
      

  5.   

    只有 shell regsvr32 这种办法吗?  使用早期的的vs2002、2003打包的即可以在win7上正常安装、运行的....所以我想是不是在vs2008上面有什么设置啊?
      

  6.   

    估计是权限的问题
    xp、2000 下的程序要在win7下运行,所涉及到的控件需要以管理员身份进行注册,否则无法使用
     在 %systemroot%\system32\ 找到 CMD.exe 右键选择以管理员身份运行
    然后 执行 Regsvr32 XXXX.ocx 即可注册成功
      

  7.   


    以管理员身份启动安装程序也一样的。 以前用老版本vs打包的程序可以安装成功的。看来是要我安装一个老版本的vs专门用来制作安装程序了...
      

  8.   

    个人感觉:InstallMaster 比较好用....