title: 32-bit and 64-bit Microsoft.ACE.OLEDB.12.0 on a singlemachine
body: <p>I'm trying to import data from Excel into various SQLServer instances, which are a variety of 32- and 64-bit versions. The machines have 32- and 64-bit versions of Office, and on my own machine for instance I get:</p>
  
  <pre><code>The 32-bit OLE DB provider "Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server.
  </code></pre>
  
  <p>I'm looking for solutions and I'm hoping someone can point me in the right direction. I <em>believe</em> that the key component is the <code>AccessDatabaseEngine</code> and/or associated DLLs that installs. These are available as downloads in redistributable form, so:</p>
  
  <p>1) Is it possible to install both DLLs on a single machine, say in different directories?</p>
  
  <p>2) If I write a program in .net to do the import, can I compile both DLLs into the app? I already know how to load the correct one depending on the bitted-ness of the host application.</p>
  
  <p>3) Does an actual install have to take place? If I know the directories where the DLLs are located (assuming it's DLLs), can I simply call <code>regedit</code> at runtime to set them up, or is there more complexity?</p>