日期:2014-05-20  浏览次数:20953 次

win7下用VS2010制作的安装包在XP上可以安装,但运行出错求救啊!!
RT
win7下用VS2010制作的安装包在XP上可以安装,但运行出错求救啊!!

------解决方案--------------------
我最近也碰到了这个问题,用Depends看了一下,猜测是这个原因:
Win7下,RegOpenKeyExW函数同时存在于Kernel32.dll和Advapi32.dll中,在Win7下编译的时候,(猜测)默认是到Kernel32.dll中去找这个函数;
XP下,RegOpenKeyExW只存在于Advapi32.dll中,因此Win7下编译出的程序在XP下运行时,到Kernel32.dll中去找RegOpenKeyExW的时候会发现找不到,于是出现了上面的错误。

最郁闷的是,目前找不到方法屏蔽掉Kernel32.dll让它去Advapi32.dll中去找函数,纠结中。

在XP下重新编译了一下我的程序,发现在XP下和Win7下都能运行了,以为没事了,结果换另外一太XP(SP3)的机器运行了一下程序,居然也出现“无法定位程序输入点 RegOpenKeyExW 于动态链接库 KerNel32.dll上”,无语了。
------解决方案--------------------
我最近也碰到了这个问题