title: Checklist when deploying SQLite with .NET application
body: <p>I need to deploy SQLite file with WPF application. </p>
  
  <ul>
  <li>Deployment technique is <em>ClickOnce</em>.</li>
  <li><em>Entity Framework</em> is included to work with the database.</li>
  </ul>
  
  <p>I'd like to have a shortlist what must be considered when deploying the application that includes a SQLite database file in it.</p>
  
  <p>So far, I have referenced and set <strong>Copy Local to True</strong> for:</p>
  
  <ul>
  <li>System.Data.SQLite</li>
  <li>System.Data.SQLite.Linq</li>
  </ul>
  
  <p>.and I have two interops where Copy to Output Directory I left to be the default <strong>Copy Always</strong></p>
  
  <ul>
  <li>SQLite.Interop.dll (x86)</li>
  <li>SQLite.Interop.dll (x64)</li>
  </ul>
  
  <p>In the app.config file I have:</p>
  
  <pre><code>&lt;applicationSettings&gt;
      &lt;MyApp.MySettings&gt;
         &lt;setting name="connStrSQLite" serializeAs="String"&gt;
             &lt;value&gt;data source="C:\MyFolder\MySQLiteFile.sqlite3"&lt;/value&gt;
         &lt;/setting&gt;
      &lt;/MyApp.MySettings&gt;
  &lt;/applicationSettings&gt;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>&lt;connectionStrings&gt;
      &lt;add name="MyEntities" connectionString="metadata=res://*/Model.ORM.MyModel.csdl|res://*/Model.ORM.MyModel.ssdl|res://*/Model.ORM.MyModel.msl;provider=System.Data.SQLite;provider connection string='data source=&amp;quot;C:\MyFolder\MySQLiteFile.sqlite3&amp;quot;'" providerName="System.Data.EntityClient" /&gt;
  &lt;/connectionStrings&gt;
  </code></pre>
  
  <p>I suppose in the app.config the paths are not working on deployed application since they are referring to my local folder now.
  <strong>How to modify them</strong>?</p>
  
  <p>Then, I checked for example from here <a href="https://stackoverflow.com/questions/7689041/sqlite-deployment-for-net-application">SQLite deployment for .net application</a> that the following should be added to app.config file. </p>
  
  <pre><code>&lt;system.data&gt;
      &lt;DbProviderFactories&gt;
        &lt;remove invariant="System.Data.SQLite" /&gt;
        &lt;add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /&gt;
      &lt;/DbProviderFactories&gt;
  &lt;/system.data&gt;
  </code></pre>
  
  <p>Anything else?</p>