请大家耐心看完我的问题,谢先!
1.背景:
系统是xp 机器安装了mdac2.0 mdac2.7 
安装了office  因为要用到数据库access 用ado实现 使用了:数据环境 报表 设计器
vb是中文版,用了sp6补丁   
打包工具为setupfactory7.0中文版  2.问题:
打包之后,换别的机器安装,发现,安装过程中,提示错误信息: 注册Com(ActiveX)控件出错 
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这个Com(ActiveX)控件是指的什么控件?       
C:\Program Files\Common Files\System\Ado\msado15.dll LoadLibrary()失败(127) 在自己机器上安装原先也出过这个问题,后来不知道怎么就好了,在另外一个装有xp系统上面安装过程也没有这个错误提示
但是,在其他三台机器(xp,2000,2003)都有这个错误提示,这三台机器都安装了access,我也都事先装了mdac 2.0
而且,最后提示都是安装成功!为了解决这个问题,我到每一个机器的C:\Program Files\Common Files\System\Ado\msado15.dll 目录下都看了一下,发现确实有这个文件msado15.dll,
我自己想,提示说注册文件有问题,我就使用了RegCtrls.exe这个软件来注册文件msado15.dll,没有提示出错,应该是已经注册上了,只是这个目录下面的另一个文件msader15.dll注册的时候提示:
The file"C:\Program Files\Common Files\System\Ado\msader15.dll " doesn't appear to be self-registering (DllRegeistServer export not found)
System error 0x0000007F (127) :找不到指定的程序.
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这里也有个127,奇怪,一起的么?想知道这个问题到底出在哪里?如何解决呢!

解决方案 »

  1.   

    1.首先 XP 本身已经自带了 MADC 2.8 
    旧版本是无法覆盖新版本的
    2。建议你升级开发端的 MADC ,2。0 太旧了,而且有些Bug ,建议升级到2。5 以上
    3。不要在Setupfactory 里面打包 任何 MADC 的组件,MADC 需要使用微软的源安装包进行安装才妥当
    你可以把这个原安装包一起打包进你的安装,设置脚本,安装结束后运行
      

  2.   

    可是,我在另外一台机器上面(xp系统)中,安装了mdac2.7,还是会提示这个错误
    按照您说的,应该是这个mdac2.7,不能覆盖xp系统自带的2.8,那么说对于xp系统,你安装哪个版本的都没有关系,那么干脆就什么版本的也不装,应该好用吧?可事实上是不行的,错误提示还会出现.我试过了对于打包来说,我想先不把mdac和我的程序放到一起,而是单独安装,也就是说,每次我都先安装mdac2.7,然后在进行打包后的程序安装,这样总可以把?但我试了一下,还是那个错误提示啊.
      

  3.   

    对于我的xp系统,安装mdac2.8,他就提示,这个版本和系统自带的冲突,但是换另外一台机器,也是xp系统,安装mdac2.8,就顺利装上,然后,再安装打包后的程序,就可以顺利安装了.因此,我得到2个结论,那就是:
    1.我开发程序的系统用的是mdac2.8,那么打包后到别的机器上面也应该用mdac2.8,不能用更低版本的
    2.不是所有的xp系统,都自带mdac2.8,最近的xp系统应该都带有,但再早一点的xp系统可能就没有了清高手帮我判断一下,我的结论对不对?!谢谢!
      

  4.   

    用VB自带的打包工具做安装包到此机器上试试,建议在此机器上手工安装MDAC2.8MDACTYP.EXE
      

  5.   

    再次更正,注意现在的windows xp 是自带mdac2.8,而且mdac2.8已经变为他的一部分了,所以你的开发环境如果是windows xp ,那么换到别的系统一定要安装mdac2.8,不然不好用,另外,mdac2.0根本不起什么作用,白装!有问题问我。