首先msado15.dll有不同的版本,不同的版本有不同的接口在注册表中显示为不同的CLSID,接口不同,编译也是会出问题的,但已经编译出来的软件,可以在高版本的msado15.dll上运行,不用考虑版本问题,即在XP上编译的程序,也可以在WIN7上运行的,不需要更换msado15.dll。所以找个xp上的msado15.dll复制到项目下,预编译时不再引用本地开发环境下的msado15.dll,引用项目下的xp版本的msado15.dll,重新生成,搞定。