Good morning, all. This is my first question on stackoverflow, so hopefully this isn't something that's been beaten to death and I haven't been able to find it.
I'm developing an application that is going to be distributed shrinkwrapped. We have gotten the rights to distribute SQL Server 2008 Express Edition with our application, but exactly HOW to do this is a little more difficult. Right now we're using a standard Visual Studio setup project, and I was obviously hoping for something very easy, like a configurable merge module, but obviously no such thing exists or I wouldn't be posting here ;)
The road I had started going down was to include the self-extracting EXE with our package, then use a custom install action to extract it and pass command line arguments to the SQL installer to create our named instance. Here's where the problem comes in.
Extraction is fine. I can run the script from Windows and it installs SQL Server just as it should, but I can't run the SQL installer from my custom action because it's saying that there is already another installation in progress. This other installation is, of course, my application, and it isn't going to end until SQL Server finishes, so we're essentially at a deadlock until SQL finally gives up and errors out.
What I WANT is a named instance of SQL server for my application that is installed with it and gets uninstalled with it. Writing my own installer is not an option because of time, and my coworker says InstallShield is not an option because of complexity (I've never used it, so I'll take his word for it). Does anyone have any thoughts?