App.config connection string relative path
You can specify a relative path as described in Lefty's answer.
However this will be relative to the current working directory, which will not necessarily be the directory containing your executable.
One way round this is to modify the connection string before using it, e.g.
In app.config:
connectionString="data source={AppDir}\data\EmailDatabase.sqlite
In your code:
ConnectionStringSettings c = ConfigurationManager.ConnectionStrings[name]; if (c == null){ ... handle missing connection string ...}string fixedConnectionString = c.ConnectionString.Replace("{AppDir}", AppDomain.CurrentDomain.BaseDirectory);... use fixedConnectionString
Yes it is possible. Try using |DataDirectory|.
In App.config
<add name="SqliteConnectionString" connectionString="Data Source=|DataDirectory|\Database.sqlite;" providerName="System.Data.SQLite"/>
More information on this page https://msdn.microsoft.com/en-us/library/cc716756.aspx
Try using a "." before the first backslash in the data source part of the string.
eg.
data source=.\data\EmailDatabase.sqlite