Ampliando la respuesta de Yan, hay una sintaxis muy sencilla si se utiliza la extensión SQL - Es necesario tanto MDF como LDF (archivos Data + Log) incluidos para su base de datos SQL, pero luego adjúntelos haciendo referencia al mismo nombre de archivo.
El siguiente supone un SQL Server Express será instalado localmente bajo el ejemplo localhost \ sqlexpress
<Property Id="SQLINSTANCE" Value="SQLEXPRESS" />
<Property Id="SQLSERVER" Value="LOCALHOST" />
<Property Id="DATA_FOLDER" Value="C:\Program Files\Microsoft SQL Server\MSSQL11.SQLExpress\MSSQL\DATA\" />
<Component Id="Sql_Database_Deploy" NeverOverwrite="yes" Directory="[DATA_FOLDER]">
<File Source="Northwind.mdf"></File>
<File Source="Northwind)log.ldf"></File>
<sql:SqlDatabase Id="SqlDatabase" Database="Northwind" Server="[SQLSERVER]" Instance="[SQLINSTANCE]" CreateOnInstall="yes" DropOnUninstall="yes">
<sql:SqlFileSpec Filename="[DATA_FOLDER]Northwind.mdf" Id="Northwind_SqlFileSpec"/>
<sql:SqlLogFileSpec Filename="[DATA_FOLDER]Northwind_log.ldf" Id="Northwind_SqlLogFileSpec"/>
</sql:SqlDatabase>
</Component>
he omitido la autenticación de este ejemplo por razones de brevedad, pero también se puede especificar un usuario de SQL use para el comando usando el elemento User, y haciendo referencia al ID del elemento del usuario dentro del atributo SqlDatabase.
Termino resolviendo este problema usando un SQL dinámico. Para cualquiera que busque una solución, verifique la respuesta aceptada para la siguiente pregunta: http://stackoverflow.com/questions/5626850/sql-server-use-parameter-in-create-database – sean717