使用清单文件加载DLL时Windows XP和Win 7之间的区别

时间:2013-03-03 09:04:05

标签: visual-c++ manifest dll

我使用的.Net 4组件使用子目录中的.manifest文件创建激活上下文(通过互操作)。

AppDir

- App.exe (.Net 4)
- App.dll (.Net 4)
---- SubDir
-------- lib.dll (Native x86)
------- lib.manifest

- App.exe (.Net 4) - App.dll (.Net 4) ---- SubDir -------- lib.dll (Native x86) ------- lib.manifest

当前目录= AppDir

清单路径=。\ SubDir \ lib.manifest

在Win 7中加载SubDir / lib.dll并执行正常。

在Win XP中清单文件加载正常,但系统然后尝试加载AppDir / lib.dll,而不是AppDir / SubDir / lib.dll

我通过ProcMon验证了这一点。 如果我将所有内容从SubDir复制到AppDir并指向AppDir / lib.manifest,它在XP中工作正常,即当前目录。

在SubDir中加载lib.dll需要做什么?

0 个答案:

没有答案