title: Visual Studio 2005 - C++ - What controls the manifest creation
body: <p>I was trying to figure out why a debug build was blowing up with the "dependent assembly microsoft.vc80.debugcrt could not be found" event error.</p>
  
  <p>After deleting everything (anything not .cpp or .h) and recreating the solution - I still had the problem.</p>
  
  <p>A google search was fruitless and a re-install of VS didn't produce any change.</p>
  
  <p>I did have the dlls in C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c.</p>
  
  <p>I opened the \debug\.exe.intermediate.manifest file and it had 2 (dependentAssembly) entries:<br>
      1st: name='Microsoft.VC80.DebugCRT' version='8.0.50608.0'<br>
      2nd: name='Microsoft.VC80.DebugCRT' version='8.0.50727.762'   </p>
  
  <p>If I delete one and change the other one to
   name='Microsoft.VC80.DebugCRT' version='8.0.50727.42'</p>
  
  <p>I can get a build that will start.</p>
  
  <p>Granted I did have VS2008 installed - but what is controlling the versions ? or How can I get the right debug dll version to "stick".</p>
  
  <p>VS2008 was de-installed through the control panel.</p>
  
  <p>EDIT: Found nothing in the registry if DebugCRT is searched for.<br>
        the environment path points to the VS8 folders .<br>
        There is only 1 DebugCRT folder in the c:\windows\winsxs\policies folder<br>
           (8.0.50.727.42)<br>
        The c:\windows\winsxs\manifests folder only has the .42 version of .cat and .manifest<br>
        The .manifest file (in above manifest folder) has version="8.0.50727.42"  </p>
  
  <p>Clarification: the manifest file has 2 "dependentAssembly" entries each with different versions and not the .42.  I can delete 1 entry and change the version on the other to match the .42 to get a debug build that starts.</p>
  
  <p>EDIT2:I'm also using boost and inside the DLLs there is the .762 version</p>