amarnathb
Level 2

Silent Installation using Installshield 2011

I am trying to do a silent upgradation using the response file that i had generated using Installshield 2011 ( Multi Instance environment ). However the installation is consistently failing with the following error

ResultCode=-3

This particular error seems to indicate that there is some information missing in the response file. Since i had generated the response file by actually performing the upgrade operation using installshield only, not sure what could be missing in it.

Does InstallShield 2011 support silent upgradation functionality at all for Multi instance environment?

One particular thing to note for is, in multi instance environment, Installshield displays the "Qualifying productDetected Dialog" if there is an instance of the product already there on the system . By default the "radio button option" is selected to "Install a new Instance of this application".

When installing in GUI Miode, we can change the option to perform an upgrade, however how does one opt for upgrade option during "Silent upgradation" considering that this action is not being recorded in the response file.

Please share information if you have any workaround/solution in this regard.
Labels (1)
0 Kudos
2 Replies
phill_mn
Level 7

If "Qualifying product Detected Dialog" is a custom dialog, look at the InstallScript code for that dialog (and I would compare it to the script for a built-in dialog) and make sure that it includes code to support recording responses when in record mode, and using those responses in SILENTMODE. Also if more than one instances of a dialog could take place, in the dialog sequence, then make sure each instance has a unique ID by incrementing the trailing number.

You pretty much indicated why you are getting error 3 if you are hitting a dialog sequence which does not have a corresponding entry in the response file. To get all of the possible entries (assuming that all custom dialogs have the necessary SILENTMODE support implemented) you might need to record several different dialog sequences and then manually merge the entries into a single response file. For example if you record an install on a clean system you can them use that file on another clean system. However if you run it on a system where the installer already exists you will get error 3 because the Maintenance Welcome dialog (or one of the other dialogs) is missing from the response file. If you then record on that system you will get a response file for a Repair sequence. In most cases you can then open one of the response files and merge the unique dialog sections creating a response file which can be used for either clean install or repair. You may however have a dialog used in each sequence with different responses, in which case you just need to modify the ID of the dialog in one of the sequences so that the response file has two unique entries for the merging process to work. This is generally not an issue.

In my projects I add code after each dialog which adds a 'comment' to the response file, to make it easier to understand.
if(MODE=RECORDMODE)then
SilentWriteData(szAppKey, "Comment", DATA_STRING, "string describing dialog and options user selected", 0);
endif;
0 Kudos
amarnathb
Level 2

Thanks phill. Looks like "Qualifying product Detected Dialog" if from Installshield itself. Also i found the following statement in the installshield documentation

"If the update installation is silent, the update is applied to the first instance that is found, and the Qualifying Product(s) Detected dialog is not displayed. "

This indicates that the Silent installer is not being blocked by this particular dialog.

Thanks for sharing the valuable information. I will try to work on the recommendations you have provided and see if the issue is resolved.
0 Kudos