0
votes

Is it possible to use same Inno Setup installer for installing new or updating/upgrading application. For example If the application is already installed the installer will check current version against newly availible. If it is true then I would like the installation procedure to be silent, meaning showing only the progress of update and not all availible installation features (e.g. folder location e.t.c). Thanks.

=======

The solution to the problem was :

Passing the parameters /SILENT/SUPPRESSMSGBOXES taken from

http://www.jrsoftware.org/ishelp/index.php?topic=setupcmdline

1
Inno Setup remembers all the details entered in the previous installation with the same AppId, so all you need is to keep the AppId same for the whole lifetime of your installer. The next task is little more complicated because if I get it right, you want to check if the application is already installed and if yes, run the installation as silent. Did I get your requirement right ? - TLama
Correct, this is my issue. I have coded the installation to do checking etc.. but I need to hide those unnesessary screens during upgrade - Jim
VerySylent should be the way to go. - Nandostyle

1 Answers

1
votes

For the standard screens, simply add the following to your [Setup] section:

[Setup]
DisableDirPage=auto
DisableProgramGroupPage=auto

This will automatically hide the directory and group selection pages on subsequent installs (using the previously selected values, by default, unless you've used other settings that disable that behaviour).

Components and Tasks will still display, but that's usually a good thing as it allows the user to add additional components or re-perform certain tasks. (Note that you can use the checkedonce flag on [Tasks] entries to only tick them by default during the initial install, but allow the user to re-tick them manually if required.)

It's possible to skip even more pages through use of [Code], but this is rarely necessary.

Another option is that if the installer is being run from your application itself (eg. as part of a "Check for new versions" task) you can use the /SILENT command line parameter to hide the normal interactive UI.