title: Microsoft.SqlServer.Management namespaces/references in distributed application?
body: <p>I need to execute some large file-based .sql scripts (to create/drop databases and tables etc etc) from within my application and came across some code that negated the need to shell/exec OSQL - but this method required some additional assembly references:</p>
  
  <pre><code>using Microsoft.SqlServer.Management.Common;
  using Microsoft.SqlServer.Management.Smo;
  </code></pre>
  
  <p>I had trouble finding these references from within Visual Studio and had to "browse..." finally finding the correct DLLs in C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies.</p>
  
  <p>I am now worried that users of the application will not have these references available - they do not appear in my "bin" directory.</p>
  
  <p>Would it be safe to assume that anyone with access to OSQL would also have access to these DLLs - or do I have to make other plans?</p>
  
  <p>Edit: I should point out that the users of this application would typically be running from a "SQL admin" role and already have access to OSQL and SSMS from their workstations</p>