Going to .Net SQLite (System.Data.SQLite) download page, there is different editions for each .Net framework and CPU architecture (32/64). I have a WPF/NHibernate application that works on my machine fine. My machine is Windows 8 x64 with .Net 4.5. Application is in .Net 4.0 and I used SQLite x32 for .Net 4.0 in it.
Problem is when application is deployed to customer’s machine. Some of them have Windows XP, some have Vista and some have Windows 7 and 8. Many of them can not load database driver and I am forced to use another System.Data.SQLite. For example a x64 or a .Net 2.0 on them. I wonder why this happens and how it can be corrected. Specially when all customers have .Net 4.0 on their machines.
Any help is appreciated.
As this page explains,
System.Data.SQLiteassembly binaries for the .NET Framework 2.0 should work with the .NET Framework 4.0, but the reverse is not true. So if you need backward compatibility with older versions of the framework, you should use the older 2.0 assemblies.There are other intricacies, such as how to properly use the Mixed Mode assembly with x64, so you should read that page carefully.