How can you produce a Microsoft Access database file in C# if it doesn't exist yet?

The easiest response is to embed a clear .mdb / .accdb file inside your program and write it to disk.

It is to make use of COM Interop using the ADOX library:

var cat = new ADOX.Catalog()
cat.Create(connectionString);

Make sure to generate your connection strings using OleDbConnectionStringBuilder.

You should use Office InterOp API

string database=@"c:\path\file.accdb";
Microsoft.Office.Interop.Access.Application  app;
app = new Microsoft.Office.Interop.Access.Application();
app.NewCurrentDatabase(database,
                       Microsoft.Office.Interop.Access.AcNewDatabaseFormat.acNewDatabaseFormatAccess2007,
                      Type.Missing);

Try:

using ADOX //Requires Microsoft ADO Ext. 2.8 for DDL and Security using ADODB

public bool CreateNewAccessDatabase(string fileName)

http://zamirsblog.blogspot.com/2010/11/creating-access-database.html