Hi there,
I have started working on a new C# app which will be installed directly onto our customers' computers to access our services remotely. I'm still in the phase of planning how everything will fit together. I normally use PostgreSQL for our back-end database needs, but I can't think that it'll be very practical to ship this app with PostgreSQL or even SQL Server.

Will it be better to use XML or maybe use SQLite for a local database? I only want to use the database to remember some of the statistics that will be important to the user later on about their own usage and also basic setting in their profiles. I have thought about connecting the apps to our Postgre database remotely, but unfortunately that is currently not an option. (not a problem anyway, seeing that we don't really need to access that info)

Any advice?

1. If you want to store those data regarding basic settings, I say separate that section and use XML files (you could use a template) for that purpose.

2. For statistics, you could use XML files but there is always the risk of them getting big (depending on the usage), but if it is not an issue then again you can use XML files. I also suggest using simple log files as well.