title: What is the best way to ship a private copy of C-runtime along with a windows application
body: <p>I would like to build my Visual-C++ projects (native/unmanaged C++ projects) with <code>/MD</code> (Multi-threaded DLL) option and ship them along with C-Runtime DLLs to reduce the overall size of my product.</p>
  <p>I don't want to run <code>vcredist*.exe</code> from my installer, because my application will stop working if the user uninstalls the vc-redistributables.</p>
  <p>I don't want to keep copies of C-runtime DLLs in all my application folders either, because that will again increase the overall size.</p>
  <p>I want to keep only one copy of the C-runtime DLLs in one of my applications' common folders. All my application images (<code>*.exe</code>, <code>*.dll</code>) from different folders should be able to load the C-runtime DLLs from this common folder.</p>
  <p>For example:
  <code>C:\Program Files\MyApplication\Common</code>,  will contain all C-runtime Dlls</p>
  <pre class="lang-sh prettyprint-override"><code>C:\Program Files\MyApplication\bin&lt;br&gt;
  C:\Program Files\MyApplication\modules&lt;br&gt;
  C:\Program Files\MyApplication\plugins&lt;br&gt;
  </code></pre>
  <p>Images from all the above folders should be able to load C-runtime DLLs from <code>C:\Program Files\MyApplication\Common</code> folder.</p>
  <p>Is there a way to force my application to load all C-runtime DLLs from my private location?
  Will it be possible to get Microsoft updates for my private copy of C-runtime files?
  What is the best option to ship a private copy of C-runtime and update it during windows update?</p>
  <p>Thanks</p>