Use SQL Server CE.
You can create a database file like this:
Create a SQL Server Compact Edition Database with C#
I'd use this because is "official" MS database. So it will work fine with MS technologies (Linq to SQL, Entity framework, etc.) It's also a very lightweight DB. Take into acount that there's also available SQL Server Express, but that's not such a lightweight database.
Code to create database:
string connectionString;
string fileName = “ArcaneCode.sdf”;
string password = “arcanecode”;
connectionString = string.Format(
“DataSource=\”{0}\”; Password=’{1}’”, fileName, password);
SqlCeEngine en = new SqlCeEngine(connectionString);
en.CreateDatabase();
Distributing it only requires copying a few small assemblies (for example the installer for SQL Server CE 2005 it's a 1.7Mb .msi file which results in 7 assemblies) Zero configuration. And there are versions which can be used with .NET framework 2.0, 3.0, 3.5, 4.0 (version SQL Server 2005 up to SQL CE 4.0).
If someone can't see the adavantage of being supported by MS, so that using it with C# and otherMS technologies, and having a good documentation on MSDN.
I suppose that I got downvotes because someone is allergic to MS. If not, let me know why.