
Setup Command Line Parameters
=============================

Contents
o Summary
o Setup Command Line Parameters
o Parameters specific to Firebird installs
o Setup exit codes
o Uninstall Command Line Parameters
o Uninstaller Exit Codes


(These notes are taken directly from the InnoSetup 4.2.7 documentation,

except for Firebird specific parameters.)

Quick summary of available parameters
-------------------------------

Setup parameters specific to the Firebird Installer

/? | /h | /HELP
/FORCE
/NOCPL
/NOGDS32
/COPYFBCLIENT
/COMPONENTS="comma separated list of component names"

General parameters available to all InnoSetup based installers
/SP-
/SILENT | /VERYSILENT [/SUPPRESSMSGBOXES]
/LOG
/NOCANCEL
/NORESTART
/RESTARTEXITCODE=exit code
/LOADINF="filename"
/SAVEINF="filename"
/LANG=language
/DIR="x:\dirname"
/GROUP="folder name"
/NOICONS


Setup Command Line Parameters
-----------------------------

/SP- 
  Disables the This will install... Do you wish to continue? prompt at the
  beginning of Setup. Of course, this will have no effect if the
  DisableStartupPrompt [Setup] section directive was set to yes.
  
/SILENT,/VERYSILENT 
  Instructs Setup to be silent or very silent. When Setup is silent the wizard and
  the background window are not displayed but the installation progress window is.
  When a setup is very silent this installation progress window is not displayed.
  Everything else is normal so for example error messages during installation are
  displayed and the startup prompt is (if you haven't disabled it with
  DisableStartupPrompt or the '/SP-' command line option explained above)
  
  If a restart is necessary and the '/NORESTART' command isn't used (see below)
  and Setup is silent, it will display a Reboot now? message box. If it's very
  silent it will reboot without asking.
  
/LOG 
  Causes Setup to create a log file in the user's TEMP directory detailing file
  installation actions taken during the installation process. This can be a
  helpful debugging aid. For example, if you suspect a file isn't being replaced
  when you believe it should be (or vice versa), the log file will tell you if the
  file was really skipped, and why.
  
  The log file is created with a unique name based on the current date. (It will
  not overwrite or append to existing files.) Currently, it is not possible to
  customize the filename. The information contained in the log file is technical
  in nature and therefore not intended to be understandable by end users. Nor is
  it designed to be machine-parseable; the format of the file is subject to change
  without notice.
  
/NOCANCEL 
  Prevents the user from cancelling during the installation process, by disabling
  the Cancel button and ignoring clicks on the close button. Useful along with
  '/SILENT' or '/VERYSILENT'.
  
/NORESTART 
  Instructs Setup not to reboot even if it's necessary.
  
/RESTARTEXITCODE=exit code 
  Specifies the custom exit code that Setup is to return when a restart is needed.
  Useful along with '/NORESTART'. Also see Setup Exit Codes.
  
/LOADINF="filename" 
  Instructs Setup to load the settings from the specified file after having
  checked the command line. This file can be prepared using the '/SAVEINF='
  command as explained below.
  
  Don't forget to use quotes if the filename contains spaces.
  
/SAVEINF="filename"
  Instructs Setup to save installation settings to the specified file. Don't
  forget to use quotes if the filename contains spaces. 
  
/LANG=language 
  Specifies the language to use. language specifies the internal name of the
  language as specified in a [Languages] section entry. When a valid /LANG
  parameter is used, the Select Language dialog will be suppressed.
  
/DIR="x:\dirname" 
  Overrides the default directory name displayed on the Select Destination
  Location wizard page. A fully qualified pathname must be specified.
  
/GROUP="folder name" 
  Overrides the default folder name displayed on the Select Start Menu Folder
  wizard page. If the [Setup] section directive DisableProgramGroupPage was set to
  yes, this command line parameter is ignored.
  
/NOICONS 
  Instructs Setup to initially check the Don't create any icons check box
  on the Select Start Menu Folder wizard page.
  

Parameters specific to Firebird installs
----------------------------------------

/? | /h | /HELP
  Invoke this file as a help screen at installation time.

/COMPONENTS="comma separated list of component names"

  Choose from - ServerComponent\SuperServerComponent,
                ServerComponent\ClassicServerComponent,
                ServerComponent,
                DevAdminComponent and
                ClientComponent

  Overrides the default components settings. Using this command line
  parameter causes Setup to automatically select a custom type. A full
  install requires combining components. For example:

  /COMPONENTS="ServerComponent\SuperServerComponent,ServerComponent,DevAdminComponent,ClientComponent"

  would be required for a full install.



  Make sure that your component list is _only_ separated by commas.



/FORCE

  Tells the installer to ignore its analysis of the existing
  environment. It will attempt to install and configure Firebird 2.0 as
  if no previous version of Firebird or InterBase was installed.

  This can be useful if you have a seriously broken installation that
  you cannot uninstall. Or it could be another way to aggravate your
  users by breaking a perfectly good working install of InterBase. Its
  your choice.


/NOCPL

  Don't install the Control Panel Applet. This is useful for two
  reasons:

  o Installing/Uninstalling the CPL applet requires a system
    restart on Windows 2000 (and perhaps some other platforms.)

  o You may wish to use an alternative cpl applet.


/NOGDS32

  Don't install a copy of the client library into the system directory,
  even if installation analysis concludes it is OK to do so.


/COPYFBCLIENT

  Copy the fbclient.dll to the system directory. This is recommended
  for client installs if you are sure that you will only ever be
  accessing a single server version. If your client applications are
  likely to take advantage of accessing different server versions this
  is not recommended. See
    doc/README.Win32LibraryInstallation.txt
  for more information.



Setup Exit Codes
----------------

The Setup program may return one of the following exit codes:

  0 Setup was successfully run to completion.


  1 Setup failed to initialize.

  2 The user clicked Cancel in the wizard before the actual installation
    started, or chose "No" on the opening "This will install..." message
    box.

  3 A fatal error occurred while preparing to move to the next
    installation phase (for example, from displaying the pre-installation
    wizard pages to the actual installation process). This should never
    happen except under the most unusual of circumstances, such as running
    out of memory or Windows resources.

  4 A fatal error occurred during the actual installation process.

    Note: Errors that cause an Abort-Retry-Ignore box to be displayed are
    not fatal errors. If the user chooses Abort at such a message box, exit
    code 5 will be returned.

  5 The user clicked Cancel during the actual installation process, or
    chose Abort at an Abort-Retry-Ignore box.

  6 The Setup process was forcefully terminated by the debugger (Run |
    Terminate was used in the IDE).


  Before returning an exit code of 1, 3, or 4, an error message explaining
  the problem will normally be displayed.

  Future versions of Inno Setup may return additional exit codes, so
  applications checking the exit code should be programmed to handle
  unexpected exit codes gracefully. Any non-zero exit code indicates that
  Setup was not run to completion.


Uninstaller Command Line Parameters
===================================
The uninstaller program (unins???.exe) accepts optional command line parameters.
These can be useful to system administrators, and to other programs calling the
uninstaller program.

/SILENT, /VERYSILENT 
	When specified, the uninstaller will not ask the user for
	startup confirmation or display a message stating that uninstall is complete.
	Shared files that are no longer in use are deleted automatically without
	prompting. Any critical error messages will still be shown on the screen. When
	'/VERYSILENT' is specified, the uninstallation progress window is not displayed.
	If a restart is necessary and the '/NORESTART' command isn't used (see below)
	and '/VERYSILENT' is specified, the uninstaller will reboot without asking.

/NORESTART 
	Instructs the uninstaller not to reboot even if it's necessary.


Uninstaller Exit Codes
----------------------

Beginning with Inno Setup 4.0.8, the uninstaller will return a non-zero exit
code if the user cancels or a fatal error is encountered. Programs checking the
exit code to detect failure should not check for a specific non-zero value; any
non-zero exit code indicates that the uninstaller was not run to completion.

Note that at the moment you get an exit code back from the uninstaller, some
code related to uninstallation might still be running. Because Windows doesn't
allow programs to delete their own EXEs, the uninstaller creates and spawns a
copy of itself in the TEMP directory. This "clone" performs the actual
uninstallation, and at the end, terminates the original uninstaller EXE (at
which point you get an exit code back), deletes it, then displays the "uninstall
complete" message box (if it hasn't been suppressed with /SILENT or
/VERYSILENT).

