Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installer for Executing Multiple Installs

I've been to stackoverflow.com many times, but this is my first time posting here. I'll try to be as specific and to the point.

I'm in the process of converting all my PC discs into digital .iso files and there's a few games I have that are multi-install discs.

Recently I've started using Inno Setup and so far I've had a lot of success consolidating multi-disc installs into a single program executable.

The one I'm currently focusing on is the Battlefield 1942 series. It requires initial installation, multiple expansion installs, plus a major patch, plus the installing of a mod that takes multiple steps.

My question to the community is how would I pack all of the above files into one executable and have them install everything in order? If it can be done through Inno, I'd like to try that. Or if you suggest another program I can always take time to try and learn it.

I've tried making a batch file for this a while ago but it ended up kind of clunky and I really didn't like the way it turned out.

Also, is there a way to insert check boxes into Inno to choose what executables run? (this part of the post isn't as important as the above request, just kind of a bonus if possible).

Really looking forward to the community's response on this!

like image 857
GLiTCH Avatar asked Oct 05 '22 22:10

GLiTCH


1 Answers

One approach you can follow is to create a installer of installers, where you just pack the installers you have now and at installation time run each in the precise order you do now to get your fully installed and patched game.

That way, you don't have to learn each file/registry key or other settings each game have, and the risk of failure if you forget to include something vital to it.

What you have to do in order to do that properly, is to learn if the current installers accept it's own configuration from command line parameters or text files (many installers do it, for example the /silent or /verysilent command line parameters to run on the background). Once you do, use the [run] section of your script to launch each installer passing the parameters via command line or pre-made text files, or even you can create a text file or command line parameters on the fly using the [code] section with the built-in pascal script.

If your installers don't accept parameters, you can even reach your goal to keep all in one single exe file which you can run and then configure each individual installer as it launches.

Your question is overly broad to include here a working example, but you can find guidance by studying the scripts in the samples directory.

As for your final question

Also, is there a way to insert check boxes into Inno to choose what executables run?

You can use the [run] section to let the user select what to run at the end.

Or you can use the [tasks] section to create different sets of files/configurations.

A final word is to check the available flags for your install script entries, for example, deleteafterinstall to cleanup individual installer included among your [files] entries, or the [uninstallrun] section to give a unified uninstaller also.

like image 94
jachguate Avatar answered Oct 10 '22 04:10

jachguate