Installshield MSI - Installing SQL Express 2012 (not as a prerequisite)

I'm using Installshield Pro 2014.  I have a basic MSI installer that needs to do a client or a server install.  If it's a server install, I want to install a custom instance of SQL Express 2012.  I set a custom action to launch the SQL installer and pass it all the command line instructions I need, but it hangs at Invoking QueryServiceStatus Win32 API  Sco: Attempting to open SC Manager.  I read that this is because SQL is trying to close something related to the MSI installer, but since my install application is an MSI, it can't close and gets hung.  Any ideas on how to do this properly?
LVL 11
David KrollAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Vadim RappCommented:
> Any ideas on how to do this properly?

As a prerequisite. What you have described is the reason prerequisites have been created as such, and SQL Server one in particular.

You can read more in MS article "Concurrent Installations"
David KrollAuthor Commented:
I can't use a prerequisite.  If the user wants to do a "client" install, SQL should not be installed.
Vadim RappCommented:
Create two separate installations.

The alternative is to try to investigate the internals of SQL Server installation, and, perhaps, hack it so that the problem is eliminated. Or even try to repackage it into a merge module that you then include in your installation. Of course, this is very slippery slope.

There's yet another alternative. You can use Installshield Prerequisite Editor, and specify a condition for each prerequisite, i.e. sql server and client. You can  then create a vbscript that the user launches first; the script asks the question which sql server to install, and stores the answer in the registry. Then prerequisite uses that registry value in the Condition.

That custom action that you tried to use - was it nested installation custom action, or something else?
Protecting & Securing Your Critical Data

Considering 93 percent of companies file for bankruptcy within 12 months of a disaster that blocked access to their data for 10 days or more, planning for the worst is just smart business. Learn how Acronis Backup integrates security at every stage

David KrollAuthor Commented:
I figured out that I can tell a prerequisite to install for a certain feature.  I made a feature called "Server" and set it to the condition of "server" install type being chosen.  It still hangs at "waiting for service 'msiserver' to accept the stop request" though.
Vadim RappCommented:
In the view "Redistributables", what is the type of the prerequisites - Installshield Prerequisite, Merge Module, or Installshield Object?
David KrollAuthor Commented:
It's an Installshield Prerequisite.
Vadim RappCommented:
You can assign to features only merge modules and objects, since they are part of the "main" installation. Installshield prerequisite however is launched by setup.exe before the main installation, so there's no way to select features.

One way you might try is to make it a deferred custom action running in system context, so it would run in the very end of the installation, on system account. Maybe it would work. But really, it's all very shaky stuff. I would create 2 separate installations, one with client, another with server.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
David KrollAuthor Commented:
I was hoping not to have to create 2 separate installs, but I think that is the most appropriate way to handle this.  Thanks for your help!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server

From novice to tech pro — start learning today.