基本上,当我们的软件在 下运行时Windows 7
,它可以工作:调用LoadLibrary()
成功,生活美好。
但是,当在一个机器上运行相同的软件XP
(最新补丁)时,调用LoadLibrary
失败,返回NULL
,并带有指定module not found
.
我尝试强制它使用该UNICODE
版本LoadLibraryW
而不是LoadLibraryA
我们的应用程序的版本。
我已尝试确保安装文件夹是通过本地驱动器号映射的。
而且我已经验证了路径名实际上可以从执行机器访问(即产生的错误表明它试图加载的路径,我使用该字符串来实际查找文件)。
奇怪的是,这段代码在VS 2008 SP2
.
当客户端机器是Windows 7
.
仅当它被编译+链接VS 2010
并且在客户端上运行时才会失败XP
。
我完全不知道世界上可能出了什么问题。
为炖菜添加怪异:
如果我XP
VM
在我的开发箱上启动并在 debug build inVS2010
下运行此代码XP
,它可以正常工作!
事实上,在 my 下XP
VM
,标准(发布)构建也可以正常运行!!!
只是当从一个真正的盒子运行时它才会失败(到目前为止, XP
我已经尝试了几台机器,都已完全修补)。XP
有什么想法吗?!
我开始没有可靠的想法了。:(