SQLite doesn't require any installation on the client machine. It depends on the Visual C++ runtime, but you don't need to install it on the client machine. The system.data.sqlite download page contains several "static" packages that already contain the runtime.
SQLite isn't a full SQL database, it uses a small set of datatypes and doesn't have all the same functionality. However it is very widely used, well supported, very powerful still and is able to handle large databases. If you are looking for a pure SQL environment it won't be for you, but if you want a pretty easy to implement and no installation requried on target machine database then its hard to beat with a bit of learning to work around some of its SQL limitations / differences.
SQLite requires a 64bit exe if running on a 64bit machine, so your application will need to build as 32 bit and 64 bit and install accordingly on user machines.
All the "static" packages contain either native or mixed-mode assembly binaries linked statically to the appropriate version of the Visual C++ runtime. Typically, these packages are used in cases where customer machines may not have the necessary version of the Visual C++ runtime installed and it cannot be installed due to limited privileges.
For example, on my a machine running Windows 8.1 x64 you might go to Precompiled Statically-Linked Binaries for 64-bit Windows (.NET Framework 4.0) and downloaded sqlite-netFx40-static-binary-x64-2010-18.104.22.168.zip. This binary package contains all the binaries for the x64 version of the System.Data.SQLite 22.214.171.124 (3.8.2) package. The Visual C++ 2010 SP1 runtime for x64 is statically linked. The .NET Framework 4.0 is required.
Unzip the package and run test.exe to make sure everything works. Zero installation required.
SQLite is also available as a single C file (amalgamation), which you can directly compile into your application, if you use native C/C++. It then works in any situation where your app can open a file. No additional DLLs nor installation required.