If you want to run a .NET exe, then pretty much you have to install the .NET framework or use something like .NET Native:
https://msdn.microsoft.com/en-us/vstudio/dn642499.aspx?f=255&MSPPError=-2147217396[
^]
Compiling Apps with .NET Native[
^]
I haven't tried it, but in theory it works. How well? No idea...and you'll need VS2015 (which is it's own set of problems :laugh: )
SQL server is another matter.
You should not include SQL Server in your installation. There are a couple of reasons:
0) You can only distribute SQL Server Express for copyright reasons - not SQL Server full version.
1) They may already have SQL Server installed on the network. If so, then they will presumably want to use that version.
2) If they do have SQL server installed and you start proliferating SQL server Express instances, you are going to annoy the heck out of the database administrator...
3) A single site installation of SQl Server is a lot more likely to be backed up than a number of scattered version under user control.
4) Sql server is quite complex for a "normal" user to install and administer - it is not a good idea!
5) It will destroy the primary advantage of using Sql Server over SqlCE or SQLite - multiuser access. If everyone installs their own copy of SQL server, then you will have multiple copies of your database, each used by a single person. This will cause some confusion, and (depending on how you wrote the original database) may take some considerable effort to combine into a single instance when the problem is realized.