Your customer needs to install SQL Server 2014 if you did not distribute it with your application.
SQL Server is notoriously hard to package and distribute with your application, if your needs are simple you could use
LiteDB which is just a single .dll file, see:
best-databases-for-a-small-net-application~litedb[
^]
Another problem with SQL Server is that there are many versions and different ways to connect, which leads to a lot of confusion.
So discussing all this here is not a good idea, it would be better to read a book or maybe start here:
how-to-open-a-sql-server-database-by-using-the-sql-server-net-data-pro[
^]
how-to-create-a-sql-server-database-programmatically-by-using-ado-net[
^]
Using an .mdf file is not a good idea, it is better to create an SQL script (e.g. from Sql Server Management Studio) and create the database from your application.
See:
Execute CREATE TABLE from SQL script File in VB.net[
^]
If you are using
LocalDb this needs to be installed too, see:
sql server - LocalDB deployment on client PC - Stack Overflow[
^]
Also see:
DBO or MDF whats the diffrence? | The ASP.NET Forums[
^]