我需要重新安装我程序所需的一组DLL文件,因为它是32位程序,地址空间现在太过分散了。另外还有这个问题:由于一些DLL与基址冲突,所有的DLL都被要求页面调入RAM中进行重定位,使得整个DLL都被重新映射到内存上。其中一些DLL是我们编译的,其他的来自第三方。
我想要的是一个工具可以将一组给定的DLL文件重新映射,使得这一组DLL占据一个连续的内存块。这个工具将在安装程序之前运行,并且这些映射后的DLL文件将被安装在应用程序的私有目录中。
据我所知,Windows SDK附带的REBASE.EXE工具正是做这件事的。只要给它一些DLL文件,它就可以重新映射。
不幸的是...Windows 8 Consumer Preview软件开发工具包(SDK)说:
工具 很多已经过时或废弃的工具已经从Windows SDK中删除。以下工具已被删除:
<snip> ReBase.exe
那现在怎么办?我不想开始使用一个明显已经过时并且将在下一个版本的Windows中消失的工具。假定我的理解是正确的,那么用于替换ReBase.exe的工具是什么? 我想使用与Windows SDK和/或Visual Studio相同的工具,而不是引入第三方工具和/或编写自己的重映射代码。
或者说,我是用错误的方法来解决这个问题吗?