win2000+delphi7开发,数据库连接用了ODBC和ADO,用wise8.1打包!ODBC数据源设置和BDE数据库dll在程序中动态修改注册表.ADO连接如下:AdoConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'
  +'User ID=admin;Data Source='+DBPath+';Persist Security Info=False;'
  +'Jet OLEDB:Database Password=chenzhen197992';//DBpath是我的数据库位置. 就是这样,在win2000和win98下都能正常运行,但跑到别人的XP上ADO连接的数据库就有问题,提示:找不到文件,文件未安装.ODBC部分到没问题.我装了MDAC2.7也没用!MDAC2.8好想装不上..
后来在我自己机子上安装XP,重新编译打包,能正常运行,但跑到别人机子上还是不行...到底是怎么回事..我快崩溃了!
 这一个月来碰到的问题不下20几个,每次我不懂就问,都亏大家热心问题都解决了,这基本上是最后一个问题了。.大家帮忙,,谢谢啦..
 不好意思,另外一个帖子我把它结掉,主要是文不得题所以我就开了这个新帖了。.希望大家别怪..

解决方案 »

  1.   

    從可以運行的機器上復制msjet40.dll文件到XP機器的System32目錄試試.
      

  2.   

    哦,对了,,第一次在别人的xp上运行,提示是找不到:msjet40.dll,但我在他的xp下的C:\windows\system32中却能够找到msjet40.dll,到底怎么会事,是不是要在注册表中指定msjet40.dll的位置呀..都说用ADO方便,我咋就这么麻烦?!,把我折腾了两天了。..还没个头绪.
      

  3.   

    http://support.microsoft.com/default.aspx?scid=kb;zh-cn;239114看看這裡
      

  4.   

    konhon(优华) :不是一台机子是这样,另外的也是这样...我等下再找台机子试一下..不行我就把我机子上的msjet40.dll拷过去看看...哎..有人碰到过这种情况没有..
      

  5.   

    konhon(优华) :你的资料可能对我有用先收起来。.谢谢你的参与..等下见..也盼大家支招..谢谢拉...
      

  6.   

    konhon(优华) 。。呵呵。。真的是版本问题。。我在另外一台机子上试了可以运行了。。多谢了。msjet40.dll版本和我的一样都是4.0.8618.0。。真的帮了我个大忙。。
    现在我就只要把我的 msjet40.dll(4.0.86)用wise打到客户的c:\windows\system32下面就可以了不,
    wise应该有这个功能吧,另外如果客户的系统在D:\哪又该咋办?
      

  7.   

    安装程序都应该有一个系统变量,System目录,这个就是Windows的System的目录,不管你的Windows安装在哪个分区内,它会跟着变的。
      

  8.   

    wise打包的时候把你本机的DLL打进去就是了,wise可以指定system32或system的路径的
      

  9.   

    belllab(菜鸟)  smiler007(笑一笑) :
    谢谢。。看到了,wise的destinationg computer下面有个windows\system32,我只要把我的msjet40.dll放进出就可以了吧。。谢谢你们的提示。。