title: What's the replacement for REBASE.EXE?
body: <p>I have a need to rebase the group of DLL files that I install with my program, because it's a 32-bit program and the address space is just too fragmented right now.  Also there is the problem of the entirety of the DLLs being demand-paged into RAM on a cold boot so that the loader can rebase them, due to base address conflicts with some DLLs.  Some DLLs are ones we have compiled; others are from 3rd parties.</p>
  
  <p>What I would like to do is have a tool rebase a given set of DLLs so that the group of DLLs occupies a contiguous block of memory.  This tool would then be run just prior to the compilation of the setup program, and the rebased DLLs would be installed in the application's private directory.</p>
  
  <p>From what I understand, the REBASE.EXE tool included with Windows SDK does/did exactly that.  Give it some DLLs, and it rebases them.</p>
  
  <p>Unfortunately... <a href="http://msdn.microsoft.com/en-us/library/windows/hardware/hh852363.aspx" rel="noreferrer">Windows Software Development Kit (SDK) for Windows 8 Consumer Preview</a> says:</p>
  
  <blockquote>
    <p><strong>Tools</strong> Many obsolete or deprecated tools have been removed from the Windows SDK. The following tools have been removed:</p>
    
    <p>&lt;snip> ReBase.exe</p>
  </blockquote>
  
  <p>What now?  I don't want to start using a tool that is apparently obsolete and is going to go away in the next version of Windows.  Assuming I'm reading this right, what's the replacement for using ReBase.exe?  I would like to restrict myself to using tools that come with Windows SDK and/or Visual Studio, rather than introducing 3rd-party tools and/or writing my own rebase code.</p>
  
  <p>Or, am I approaching this entire problem the wrong way?</p>