Is there any possibility to determine whether the redistributables are already installed before running the .msi installer file? I am using INNO setup to install a console application.
This question went unanswered in an earlier thread. So I am asking it again in hopes someone can provide some help.
You could call LoadLibrary on libifcorert.dll and see if it succeeds. If it did, I'd use the Windows API calls to get its version and make sure it's at least as high as what you support. That doesn't guarantee that all of the redistributables are installed, but if you check for each of the ones you care about, that should work. But most installs I see automatically install redistributables anyway - it does no harm if they're already there.
I will go with always running the .msi installer. I am new to INNO setup, and I will try to figure out how to pass command line flags to spare the end user from dealing with the .msi's own GUI wizard.
I have always just used the merge modules as part of my msi, then the gui is under my control. The merge modules only install the runtime stuff if it is missing or out of date.