You can use xcopy deployment with SQL Server Express databases. From the link mentioned:
To make your application work with the Xcopy deployment feature of SQL
Server Express, you must make sure that the connection string you use
in your application contains the appropriate parameters:
Use the data source parameter, but change the computer name to either
a period (.) or (local). You must also specify the name of the
instance, unless you are sure that SQL Server Express will always be
installed on an unnamed instance.
Use the initial catalog or database parameter, but do not set the
parameter to a value.
Add the AttachDBFileName parameter and set it to the name and path of
the .mdf file. Attachdbfilename is a SqlClient connection string
option that enables attaching databases at runtime and autogenerates
database name. The DataDirectory keyword lets you specify the relative
path of a database file. Attachdbfilenamealso helps with database
portability. For more information about Attachdbfilename, see the
Visual Studio 2005 documentation.
The following connection string will attach the MyDb.mdf database
file, which is in the same folder as the application executable, to
the SQL Server Express instance running on the local computer.
@"Data Source='.\SQLExpress'; Initial Catalog=; Integrated
Security=true; AttachDBFileName='" |DataDirectory| +
@"\MyDb.mdf'"