I am creating a clickonce installer for my wpf application from within Visual Studio 2013 Community edition. This application uses a localdb. It works fine on the target machines if I manually install sqlserver express 2014 LocalDB.
But I would like to include the installer for SQL Server Express 2014 LocalDB with my clickonce deployment.
When I open the prerequisites dialog, however, only SQL Server 2012 Express LocalDB is available (see image). I tried selecting '2012, but it is not compatible with the mdf file my installer drops into the data folder.
The question is: How do I include the SQL Server Express 2014 LocalDB installer as a prerequisite? Is there a way to just drop the MSI file somewhere and make it work? Or will it be easier to stick with '2012?
As I posted on the MSDN forums I created my own package as an official version doesn't exist. The package is basically just a copy of the
SqlLocalDB2012
package updated to point to the new version of msi files to download.I've put all the files for the boostrapper package on GitHub so people don't have to create the files themselves. There's two versions, one for the original release and one for the SP1 release. Following are the steps to create the original release version yourself:
SqlLocalDB2014
Create an xml file in the folder called
product.xml
with the following contents:Within the folder create another folder called
en
and create another xml file calledpackage.xml
Copy the
C:\Program Files\Microsoft SQL Server\120\License Terms\License_SqlLocalDB_1033.txt
file into theen
folder and rename it toeula.txt
.SqlLocalDB2014
to where your other bootstrapper packages are located e.g.C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages
sqllocaldb.msi
files specified in thepackage.xml
file and put them inx86
andx64
folders inside theSqlLocalDb2014
folder.package.xml
andeula.txt
files.I'm having exactly the same problem as well. I found one potential answer at the MSDN forum and it seems to work for me.
To summarize the answer from the link: You have to create a "bootstrapper" for LocalDB 2014. This is just a folder in your "Microsoft SDKs directory" containing some specific xml files with keys/meta-data and an eula text file. The answer in the link provides the content for these xml files. After restarting visual studio, "Sql Express 2014 LocalDB" will appear along with all the other prerequisites and can be added to ClickOnce dependencies.