views:

542

answers:

2

Is there a way to install silently (/s) an InstallShield (non-MSI) installer that requires its own prerequisites?

In my case the prerequisite is Microsoft Visual C++ 2008 Redistributable. Its UI popping once the parent installer runs.

A: 

(Assuming you're using an InstallShield 2010 InstallScript project with InstallShield prerequisites...)

InstallShield prerequisites allow you to specify a command line to be used when it is run silently. If the redistributable you need to run takes a parameter that makes it run silently (unfortunately not all redistributables do), specify this in the prerequisite's Specify the command line for the application when the setup is running in silent mode field. I don't know specifically whether the VC++ 2008 redistributable takes such an argument. If it does not, perhaps you could create an MSI project that uses the VC++ 2008 merge module, then install this MSI as a prerequisite silently.

Specifying Command-Line Parameters for an InstallShield Prerequisite

Michael Urman
VC++ redistributable does support silent mode, and also the parent installer that wraps it. But the here's the problem: the author of the main installer chose to run VC++ redistributable with full UI, no matter what switches it gets upon execution. Seems that doing extraction of the main EXE is my only choice, though not preferable.
KMoraz
Ah, yeah, my answer is geared towards someone writing the setup, not the unlucky fellow who receives one that was poorly written. For your scenario, perhaps you can pre-install the VC++ redistributable silently, then the InstallShield setup should detect this and skip its non-silent installation.
Michael Urman
A: 

The nearest solution I could find was manipulating pre-requisite by extracting it from its parent. Similar to: http://blogs.msdn.com/astebner/archive/2007/02/07/update-regarding-silent-install-of-the-vc-8-0-runtime-vcredist-packages.aspx

KMoraz