cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
carlos_sekureid
Level 2

Calling SQL Server Installer in the middle of installation process

Dear support team,

I'm stuck in a difficult situation using InstallShield 2013 Professional. I built a Basic MSI Project installer for my .NET project, where that installer does the following:
- Calls different APIs from C# using Custom Action
- Installs a Windows Service
- Executes a script for DB creation
- Executes a script for register users, company and other important information that the application need in order to run successfully

First Problem:
After I show the User Agreement screen, the installer shows a new dialog (made by me) where the installer asks the user for two fields (Serial Number and Product Key). After checking the Serial Number and Product Key, the installer shows another screen made by me also, where the user chooses if they want Cloud Installation or Desktop Installation. If the user chooses Cloud Installation, I call a custom action built in C# that executes the default browser in the OS and I need to finalize the installation SUCCESSFULLY, in other words, I need to call the SetupCompleteSuccess dialog (Here I have my first problem: after SetupCompleteSuccess is shown, and when I click on the Next button, the installation shows SetupCompleteError). What causes this error and how can I correct it?

Second Problem:
After I show the User Agreement screen, the installer shows a new dialog (made by me) where the installer asks to the user for two fields (Serial Number and Product Key). After checking the Serial Number and Product Key, the installer shows another screen made by me also, where the user chooses if they want Cloud Installation or Desktop Installation. If the user chooses Desktop Installation, I need to check if the SQL Server is installed. If the SQL Server isn't installed on the computer, I create another Custom Action that calls the SQL Server installer but, when the SQL Server installer shows up it freezes. I found the answer for that behavior, and the problem is that two Windows Installers cannot be running at the same time (Its a restriction impose by Windows). Do you have any alternative solutions for this problem I am encountering?

I look forward to your response.

Best regards,
Labels (1)
0 Kudos

(5) Replies
JSClark
Level 6

SQL is usually installed as a prerequisite, however, at that time you don't know if they want a cloud or desktop install. Not sure what you can do. May have to issue two different packages.
0 Kudos
DLee65
Level 13

Carlos,

This is exactly why we had to move to a suite / advanced UI install for our product.
The Suite / Advanced UI projects can handle the user interface install and manipulate sequencing of packages to be installed.
I still required the basic MSI package for our main product, but for some systems the SQL Server package will be enabled, for others it will not based on user selection. In your case it would be based on the result of your license key.
The Suite / Advanced UI project may be able to handle the option for your other install issue too although I am not certain what is causing the error for you. I would suggest getting a log file at the bare minimum to see if that gives any light. Perhaps there is a custom action that failed? Until you have a log file and analyze that, you will only be guessing.
0 Kudos
carlos_sekureid
Level 2

Hi Flexera Software Team,

Thanks a lot for your reply. I have done a lot of research but I couldn't find any solution to resolve my problem using InstallShield Professional Edition 2013. So my new plan is to create the installer by myself in C#. I'll create the screens (Wecome, License Agreement, SQL Server Info, etc.) and after that, I'll make a call to a MSI (from C# code) that will install my application's files, create the DB and execute the SQL Script, etc. So if the user chooses Cloud installation inside my own installer, the installer will never prompt for SQL Server installation. If the user chooses Desktop installation, the installer will check if the SQL Server is installed; if not, the installer will install SQL Server and then, make a call to MSI project with all the things that I explained before.

Maybe this is not the best idea, but I don't see any other solution.

Again, thanks for your concern and advice. I really appreciated it.

Carlos
0 Kudos
DLee65
Level 13

Please note that I do not work for InstallShield ... 😄

I am not sure if you somehow inferred that from my response.
0 Kudos
rguggisberg
Level 13

Carlos,
If you already have IS 2013 I would echo Dan's response and use a Suite project.
And I don't work for Flexera either 🙂
0 Kudos