title: Registration-free Interop between a 64-bit COM dll and a C#/.Net application
body: <p>I am trying to get registration-free COM interop between a 64-bit COM dll and a C# app to work. </p>
  
  <p><a href="https://stackoverflow.com/questions/21332389/how-to-create-a-helloworld-com-interop-in-visual-studio-2012">In the answers to a previous question of mine</a>, I got help that allowed me to successfully call a HelloWorld method on the 64-bit COM dll for C#. </p>
  
  <p>However, this was only possible by registering the COM dll globally using regsrv32.exe. </p>
  
  <p><a href="https://stackoverflow.com/a/21331515/1591992">Based on this answer</a> to a related question, I think that I need to set the Isolated flag on the reference of the COM dll to true. However, this leads to the following build error: </p>
  
  <pre><code>Problem isolating COM reference 'ComLibInteropLib': 
      No registered classes were detected for this component.
  </code></pre>
  
  <p><a href="http://social.msdn.microsoft.com/Forums/en-US/da74ff34-f34a-4889-b159-549808a49079/when-i-set-the-isolated-true-property-on-a-64-bit-com-dll-refernce-in-a-c-application-i-get-an" rel="nofollow noreferrer">The answer to a question on MSDN social</a> seems to indicate that there is a solution for this problem if one can compile a 32-bit version of the dll. </p>
  
  <p>However, my COM interop library needs to link to a 'normal' C++ dll, for which I do not have the source  and that is only available as x64. </p>
  
  <p>So my question is: How can I enable the Isolated flag (or otherwise get side-by-side to work) between a 64-bit COM dll and a C# application? </p>
  
  <p>I am happy to use regsrv32.exe on my machine or other developer's machine, but we cannot register any COM dlls on production machines, where the final application must run.</p>