I'm looking for a SQL database engine that I can distribute with a C# Winforms application. The requirements are:
- Will store about 1GB of text (measured before any compression).
- Database must be encrypted, the encryption key will be supplied by the application at runtime.
- Compression (prior to encryption) would be nice, so that corrupt databases can be replaced remotely over a low-bandwidth network connection.
- Reliability, replacing a corrupt database can involve an expensive site visit.
- Low licencing costs and support costs.
- Users will only access the data via the application, so no fancy UI required.
Options I've considered:
- Sybase SQL Anywhere - OK, but not "free".
- MS SQL Server Express - no whole-database encryption!
- SQLite - encryption requires a licence payment?
- VistaDB - not "free".
What other products fit the bill?