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

How to create installer for different setup types?


I'm new to using Installshield and don't know how to proceed with the following setup.

According to the product type choosen the following actions need to be executed:

1) Standalone install: Files need to be copied to installdir and a x-service needs to be registered (local system account), but it needs to be disabled.
2) Server install: Files need to be copied to installdir and x-service needs to be registered (username and password asked in dialog, when left blank local account is used), now it needs to start the service automatically.
3) Client install: Files need to be copied to installdir and a x-service needs to be registered (local system account), but it needs to be disabled. Additionally a user config file needs to be copied to installdir.

I've created all required dialogs, but I don't know how to proceed with features etc. to define the required installation type.

I managed to create an installer for Standalone and Client. So when Client is installed the install level is changed to add the user config file. The service installation is the same for both, so no issues.
When I want to add the Server install, I don't know how to proceed, because of different x-service setup...

Help will be much appreciated. Many thanks in advance.
Labels (1)
0 Kudos
1 Reply
Level 13

This sounds exactly like the scenario I have.

For me I am required to install SQL Server 2012 Express if our instance does not exist. Because of this I chose to use a Suite / Advanced UI install type. The reason is that since SQL Server 2008 there has been a problem where Microsoft's installer stops and restarts the MSI engine and this causes the single MSI installer to hang because the setup has lost the handle to the msi engine.

As for the Basic MSI install type and configuring for Server vs Client, I have the following feature structure.
1. Core. These are the files that are common to Client and Server installs
2. Server. These are the files unique to the Server only
3. Client. These are the files and settings unique to the client only

In my setup UI I ask the user if this is a client computer or Main (server) computer. I then set a property MAIN_COMPUTER = YES
For the Feature 'Server' I set the Level to 0 if Not MAIN_COMPUTER ~= "YES". This will remove the feature from the list of features to install.
I have a second condition that sets the feature to Level : 1 if MAIN_COMPUTER ~= "YES". The tilde is an operator that signifies case insensitive, in case a user has provided the value on a command line

As a double check I also add some conditions to some components that are Server vs Client only with the appropriate property settings.
If your 'Client' files should not be found on server, then add appropriate feature level conditions there too.

Remember that your feature structure will affect resiliency, self-heal, of the install. So your shortcuts should be judiciously placed to provide the best user experience.

Let me know if you need more details. It sounds as if you are on the right track.
0 Kudos