jeudi 25 juin 2015

how properly deploy WPF app with sqlite database using ClickOnce

I tried to use ClickOnce but database is not included.

When I change database property "build action" to content then it is visible in Publish files properties.

http://ift.tt/1djnESA

Unfortunately in such case i receive following error:

Error 2 Problem generating manifest. The process cannot access the file 'H:\Repos\InstalmentsManagement\Installments.Wpf\Database\installments.sqlite' because it is being used by another process. Installments.Wpf

My connection string is:

  <connectionStrings>
    <add name="installmentsEntities" connectionString="metadata=http://res*/InstallmentsModel.csdl|res*/InstallmentsModel.ssdl|res*/InstallmentsModel.msl;provider=System.Data.SQLite.EF6;provider connection string=&quot;data source=|DataDirectory|\Database\installments.sqlite&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

Moreover I did following on startup in order to detect datadirecory:

    protected override void OnStartup(StartupEventArgs e)
    {
        string executable = System.Reflection.Assembly.GetExecutingAssembly().Location;
        string path = (System.IO.Path.GetDirectoryName(executable));
        AppDomain.CurrentDomain.SetData("DataDirectory", path);

        base.OnStartup(e);      
    }

Aucun commentaire:

Enregistrer un commentaire