网上解决方法很多。
我先说我遇到的问题吧:
某个客户管理系统,应该是.net写的,估计编译的时候也选择了anyCPU,由此导致运行方式会根据所处的系统工作环境而改变,就是说在64位下就是64位的程序,在32位下就是32位的程序。
然后jet.oledb4.0没有64位的,找了几天,用遍了网上的所有方法。
第一,先用c:\windows\syswow64\cmd.exe 命令行形式打开你所需要运行的那个程序,然后查看任务管理器,看看是否是32位运行了,如果是32位运行了那就没事了。在任务管理器中,如果是32位数的程序运行的话,就会在程序名的后面加注*32的字样。
第二,如果还不行,那么就要安装vs2010或者2008,都可以,里面内置windows sdk,里面有个小程序可以将64位的程序改为32位,CorFlags.exe,用这个自己去尝试吧。

