Getting a package installer to ignore MS installation 'failures' (error dialogue supression) and continue

Member_2_2862251 used Ask the Experts™
Hello, I'm a so-so software packager and I use an automated package wrapper built using Winbatch. (Don't ask, I didn't do it.) I have software which has been provided by an unnamed vendor. Prior to the main install it does a pre-check and attempt to install up to four MS-related programs (SQL and VCDistributables C++, both x86 and x64). If you run it without any switches a dialog pops up saying it failed and if you wish to Retry or Skip. No big deal, EXCEPT I want to make this a silent install. Seriously, it doesn't matter if the install 'failed' because the program already exists. However, these dialogs are enough to kill the install when using /S /v/qn switches.

The main installer is a setup.exe which calls to a setup.msi package. Going to the vendor is out of the question, we're on our own.  What's the best way to squelch the failure dialogue? I'm pretty sure this is the cause.
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
One way is to extract setup.msi (by using /extract_all, or by admin installation, or by copying setup.msi from %temp% once it's extracted), and run it directly.

Another is to find out what prerequisite checking is looking for, usually a registry key, and create a fake one before running the installation, so prerequisite checking is satisfied.


I think that the individual prerequisite programs are ending the main install prematurely when they fail. if I can suppress *their* error messages then the main install will continue. The prereq programs are:

NDP451-KB2858728-x86-x64-AllOS-ENU.exe (.Net Framework 4.51)

I'm wondering if there's a tab in the MSI files I can check (using Orca) and basically tell the programs to not make a notification if it fails. ...

I suspect there's another way of going about this. If the Main Install.msi can be launched without using setup.exe, so that it runs independently...I could write something that does the prereq check silently. That's an option but I'm not 100% certain how.
Usually prerequisites are checked by setup.exe, rather than by the MSI. MSI can check them, and, if not present, terminate the installation (details in the next paragraph), but it can't install them, which is why it's usually done by setup.exe, before launching the MSI. That's why I suggested to run the msi directly, without setup.exe.

If you do it, but still want to ensure that prerequisites are installed, then you need to modify the msi. The usual way to do it is to perform system search for some registry entry known to be present when given prerequisite is in place, and then create installation condition (table LaunchCondition) depending on the property returned by the system search being not empty.

This is actually a better practice than to install them, because this way you can direct the user to download and install then-current version of the prerequisite.
Chris, per, please explain what information was lacking from my response, that resulted in awarding grade B.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial